Ловушка для спам-ботаМногие спам-боты, чтобы скрыть свои реальные имена (названия), которые легко отследить по записи user_agent, изменяют эту запись, меняя её на записи разных браузеров (например: "mozilla/4.0 (compatible; msie 5.5; windows nt 5.0)" и так далее). Также эти боты игнорируют стандарты записей для файла robots.txt (описание стандарта Вы можете прочесть здесь http://www.robotstxt.org/wc/exclusion.html robots.txt standard).Можно, конечно, пойти путём записи нужных инструкций в файл robots.txt, а можно и предпринять другой способ, который мы опишем ниже. Метод №1 Используем специальную директорию /bot-trap: 1. создайте поддиректорию /bot-trap (можете использовать любое другое имя) 2. сделайте такую запись в файле robots.txt: user-agent: * disallow: /bot-trap/ 3. вставьте невидимую ссылку (это пиксел размера 1х1) в самом начале входной страницы сайта: ![]() Теперь можно ждать и просматривать лог сервера, чтобы посмотреть кто перешёл по этой ссылке. Человек не увидит этой ссылки, поэтому не сможет по ней перейти, а поисковые системы управляются директивами, записанными в фале robots.txt , поэтому никогда не посетят директорию /bot-trap. 4. В созданную нами директорию мы поместим /bot-trap/index.php. С помощью этого скрипта мы будем автоматически сохранять все ip адреса в файл blacklist.dat. Для начала создайте пустой файл ../blacklist.dat и сделайте его доступным для чтения и записи на сервере. * В тексте скрипта измените некоторые значения
<?php 5. Чтобы исключить повторный заход спам-бота на страницвы сайта, перед выводом любой страница сайта нужно проверять содержимое файла blacklist.dat:
<?php include($_server['document_root'] . "/blacklist.php"); ?>
Это текст скрипта blacklist.php , который нужно подключать ко всем страницам Вашего сайта:
<?php Метод №2 Другой метод не использует php и также запрещает доступ спам-ботов к Вашему сайту. Он заключается в использовании файла .htaccess. Пример записи: setenvifnocase user-agent "indy library" bad_bot setenvifnocase user-agent "internet explore 5.x" bad_bot setenvif remote_addr "195.154.174.[0-9]+" bad_bot setenvif remote_addr "211.101.[45].[0-9]+" bad_bot order allow,deny allow from all deny from env=bad_bot Надеемся, что это поможет Вам избавиться (хотя бы частично) от воровства адресов электронной почты со страниц Вашего сайта. Автор: нет данных |