2013-04-30 2 views
0

Я строй бот-ловушка/гусеничную ловушку на мой сайт:Блокировать IP-адреса в .htaccess или в PHP из базы данных?

Существует скрытая ссылка где-то на странице, которые не видят обычные пользователи, но робот видит. Ссылка также указана в robots.txt, поэтому Google не попадет в ловушку. Когда бот открывает скрытую страницу, IP автоматически помечается красным цветом в MySQL.

Мой вопрос:

  1. Когда новый IP помечается, какой путь лучше блокировать, что: Регенерация файл .htaccess, с новым IP добавил к нему, так что сам веб-сервер будет для блокировки.
  2. Не связывайтесь с .htaccess, скорее посмотрите таблицу IP от MySQL каждый раз, когда кто-то загружает страницу, а затем решайте в PHP, что делать с пользователем.
+0

Что касается людей, использующих устройства для чтения с экрана или текстовые браузеры? Увидят ли они ссылку и потенциально попадут в вашу ловушку? –

+0

Эта ссылка отмечена как «display: none;». Для обычных пользователей я имею в виду все, все, кто не бот, кроме Google, Yahoo и более крупных поисковых систем. –

+0

Имейте в виду, что некоторые браузеры (включая многие из перечисленных категорий) игнорируют стили CSS или используют только их подмножество. –

ответ

2

Я бы обязательно пошел с вариантом 2. Единственная причина в том, что мне было бы очень неудобно, что у меня есть файл .htaccess, который время от времени воспроизводится на случайных интервалах на веб-сайте. Это придирчивое чувство, когда все время пистолет на лбу.

Если это дБ, то худшее, что может произойти в вине, заключается в том, что некоторые черные IP-адреса стали доступными. С htaccess, если есть зависание, не только запутывается опыт каждого пользователя, но и могут быть скомпрометированы защищенные данные.

0

Какой способ лучше? Это очень зависит от того, что вы можете сделать. Основные правила:

  • Не используйте файлы .htaccess - настройте свой сервер напрямую.
  • Соедините Apache с вашим Mysql непосредственно для authz.
  • Блок Incomming трафика в TCP/IP слоя (Iptables)

Все остальное просто ползет, которые вы можете сделать, но вы должны быть уверены, что вы делаете это потому, что вы не можете сделать это правильно. Так что не беспокойтесь слишком много, если вы не стремитесь к лучшему.

+0

«эмпирические правила», согласно которым? Можете ли вы предоставить ссылки? –

+2

Включение поддержки '.htaccess' означает, что каждый веб-запрос должен выполнять несколько тестов для существования этого файла, а правила в каждом из них должны быть прочитаны, проанализированы, агрегированы и интерпретированы до того, как запрос может даже начаться.Статическая конфигурация типа '/ etc/httpd' читается один раз при загрузке. – tadman

+0

@George Cummins: Общеизвестно, что чем более прямой система лучше, тем лучше, потому что меньше времени тратится на разницу, и меньше всего может потерпеть неудачу. Эмпирическое правило о '.htaccess' задокументировано в самой документации Apache HTTPD. Конфигурация доступа лучше всего делать на самом Web-сервере (фактическом уровне доступа), как на гораздо более глубоком уровне, который, возможно, не нужно загружать, если в любом случае отказывают в доступе. Это должно быть ясно само по себе. Если вы используете веб-сервер перед веб-сервером приложения, применяются те же правила. –

1

Вместо того, чтобы возиться с конфигурацией Apache httpd, которая, если ваш скрипт ошибается по любой причине, сбой вашего веб-стека, как насчет интеграции с системой вроде fail2ban?

Блокировка с использованием запрещающего инструмента будет намного более эффективной.

+0

+1 Iptables очень эффективны для блокирования трафика на основе IP. –

 Смежные вопросы

  • Нет связанных вопросов^_^