Прячем robots.txt от юзеров

govnoproger.ru > php > Прячем robots.txt от юзеров

Зачем прятать robots.txt от юзеров?
Если этот вопрос вам пришёл в голову- дальше можете не читать, закройте браузер, отформатируйте винчестер, отключитесь от интернета и застрелите соседа за его лающую собаку.

Прятание robots.txt реализуется довольно легко.
Это делается через htaccess + небольшой php скрипт.
Итак сразу: нет, я пока что не прячу свой роботс, я не вижу пока в этом необходимости.
Думаю если вас это интересует, значит вам есть что скрывать.

Здесь, я писал про чтение логов. Там где написано про ботов я написал что их возможно верифицировать.

Для тех кто в танке:
Верификация — это проверка, проверка что это именно бот, например гугла, а не васи петрова.

Начнём.
Переписываем все обращения к robots.txt через htaccess на скрипт.
Этот скрипт и будет верифицировать наших ботов.
В том случае если верификация не удачна, можно отдать 404, либо какой-нибудь другой файл роботс (я бы не стал).

Верификация заключается в том, что вы конвертируете ip адрес в имя хоста.
В php конверт осуществляется функцией gethostbyaddr.

Сейчас я вам дам кусок лога:

spider87.yandex.ru - - [11/Oct/2011:21:08:25 +0200] "GET /internet/blog-odnogo-mudaka.html HTTP/1.1" 200 7341 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
crawl-66-249-72-66.googlebot.com - - [11/Oct/2011:03:36:26 +0200] "GET /robots.txt HTTP/1.1" 200 577 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Тут мы видим двух ботов. Яндекса и гугла. Это 100% их боты.
Вам просто остаётся написать регулярное выражение для проверки.
Кстати тут есть несколько сервисов которые вам помогут.
Не забывайте про картинко-ботов и тп.

Кстати можно не пользоваться этой функцией, а доставать напрямую из массива $_SERVER[‘REMOTE_HOST’] .

Рекомендую:

12.10.2011 | последняя редакция: 23.10.2011 |