|
|
|
| Скажите пожалуйста существуют ли способы защиты от скриптов-граберов типа:
$site = "http://domain.net/rus/online/62/";
$open=file_get_contents($site,"r");
и т.д.
спрашиваю, потому что почему-то не могу взять контент со страницы:
http://unian.net/rus/online/62
можете подсказать почему? сайт работает нормально. | |
|
|
|
|
|
|
|
для: pal4ik
(13.06.2008 в 17:24)
| | Может не:
$site = "http://domain.net/rus/online/62/";
,а:
$site = "http://unian.net/rus/online/62/"; | |
|
|
|
|
|
|
|
для: SiM(R)
(13.06.2008 в 18:21)
| | это понятно. просто вначале не хотел показывать вам какой сайт. (это я в тут исправил на domain) | |
|
|
|
|
|
|
|
для: pal4ik
(13.06.2008 в 17:24)
| | Функция file_get_contents() отсылает в качестве USER_AGENT, что-то вроде "PHP", по которому вас могут идентифицировать как скрипт. Нужно подделывать USER_AGENT, подставляя в качестве идентификатора либо робота поисковых систем, либо идентификаторы браузеров. Подробости можно найти в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=17831. | |
|
|
|
|
|
|
|
для: cheops
(13.06.2008 в 19:00)
| | Касаемо подделки User-Agent:
<?php
$options = array('http' =>
array(
'user_agent' => 'Mozilla/5.0 (X11; U; Linux armv6l; ru-RU; rv:1.9a6pre) Gecko/20071128 Firefox/3.0a1'
)
);
$context = stream_context_create($options);
$content = file_get_contents('http://example.com/page.html', false, $context);
echo $content;
?>
|
| |
|
|
|
|
|
|
|
для: BinLaden
(13.06.2008 в 21:25)
| | Грабь сокетами, подставляй в заголовки разные юзер агенты каждый раз, и грабь не напрямую, а через анонимайзеры. И все будет как надо и надолго. | |
|
|
|
|
|
|
|
для: Loneliness
(13.06.2008 в 21:30)
| | > Loneliness (13.06.2008 в 21:30)
> to: BinLaden (13.06.2008 в 21:25)
Спасибо, но мне это не нужно. | |
|
|
|
|
|
|
|
для: BinLaden
(13.06.2008 в 21:25)
| | Да, или так, если версия PHP позволяет. | |
|
|
|