Автоматическая запись количества проиндексированных страниц.

Статус
В этой теме нельзя размещать новые ответы.

tend

Новичок
Автоматическая запись количества проиндексированных страниц.

Всем привет!

Хочу написать скрипт, который бы узнавал каждый день сколько проиндексировано страниц Яндексом и Рамблером.
Хотел сделать так: открыть скриптом url "http://yandex.ru/yandsearch?serverurl=<адрес_сайта>" и извлечь из title количество страниц, но при открытии url'а выдает ошибку 403 Forbidden.
Подскажите, плиз, как сделать такое другим способом, так как каждый день самому заходить на Яндекс и смотреть сколько проиндексировано уже надоело.
 

pavel31

Новичок
Вот так:

$page = "";
$err = 0;
while ( !$page && $err<40 )
{
$page = get_1( "http://yandex.ru/yandsearch?serverurl=http://phpclub.ru" );

echo $page;

if ( $page && !preg_match("~</html>~msi",$page, $ww) )
{
$page = "";
echo "!";
}

if ( !$page )
{
echo "~";
}
}



function get_1( $host )
{

$ch = curl_init();
curl_setopt ( $ch, CURLOPT_URL, $host. "\n\n" );
curl_setopt ( $ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" );
curl_setopt ( $ch, CURLOPT_REFERER , $host );
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt ( $ch, CURLOPT_COOKIE , "bumburum" );
curl_setopt ( $ch, CURLOPT_HEADER, 0);



curl_setopt ( $ch, CURLOPT_RETURNTRANSFER,1 );

$data=curl_exec($ch);

if (curl_errno($ch))
echo "CURL ERR:" . curl_error($ch) . "\n";
else
curl_close($ch);

return $data;
}


Но учти, что если "заметят" что ты очень часто такое "просиш" придется обходить это через список прокси. Поэтому просто не запускай чаще чем раз в час :)
 

tend

Новичок
pavel31
не фурычит
сделал как написано, но все равно HTTP/1.1 403 Forbidden
И еще пишет вот что:
Доступ к нашему сервису запрещен!
Вы обратились к Яндексу с IP-адреса 70.**.**.*.
Возможно, этот сервер является открытым и анонимным прокси-сервером. Это означает, что любой пользователь интернета может им воспользоваться совершенно безответственно. Мы вынуждены запретить доступ через такие прокси-сервера, потому что они широко используются для атак на нас или на почтовые ящики наших пользователей.

Я вообще не запустил не разу, не говоря уже о том, чтобы запускать чаще 1 раза в час.

А можно небольшой комментарий по поводу кода?
Я так понял, что это идет имитация того, что заходит обычный пользователь. Да?
А какая тогда разница между обычным скриптом, который запрашивает страницу методом fopen и тем, что ты написал?
 

440hz

php.ru
ловишь агента и записываешь в базу дату и робота. далее считаешь как хочешь. хоть за сегодня хоть за год.
 

tend

Новичок
440hz
что-то я ничего не понял
какой еще агент и что считать?
 

antson

Новичок
Партнер клуба
tend
Вывод не только Вы такой хитрый. комп хостера попал в бан лист, кто-то уже до Вас ставил аналогичный скрипт.

к совету 440hz
не забудь профильтровать строки.
По опыту иногда в юзерагента засовывают яво скрипты.
 

antson

Новичок
Партнер клуба
boombick
нет хакеры.

Если у твоего сайта в админка для авторизации юзает куки (а это обычно так и есть PHPSID обычно там и сидит), то для тебя угрозу представляют явоскрипты .
Пример ворования кук приводить здесь не будем :)

В админке ты делаешь просмотр статистики по неотфильтрованым на спецчары данным.

А куда можно попробывать засунуть такую бяку ?
- в урл 1
- в юзерагента 2
- в рефера 3

три очевидных и легко формируемых через гет места
 

antson

Новичок
Партнер клуба
WP
ну мы спорим об очевидном я и имел замену символов перед выводом . хотя если при занесении в бд замена на gt и lt имхо
тоже вполне допустима. На вскидку не помню юзерагентов с символами больше меньше в названии.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху