Назад | Перейти на главную страницу

.htaccess: блокирующий прокси

Итак, этот парень рассылает спам на моем форуме phpBB2, так как его забанили. Он продолжает возвращаться с прокси, и я хотел бы заблокировать их с помощью своего htaccess. Мой форум находится по адресу http://www.site.com/forum/ Я поместил файл .htaccess в / forum /, который содержит следующее, найденное где-то в сети:

RewriteEngine on
RewriteCond %{HTTP:VIA}                 !^$ [OR]
RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
RewriteRule ^(.*)$ - [F]

Я слышал, это довольно точно. Я попробовал, но веб-прокси не смог получить доступ к странице. Но он проработал минут 5, и теперь ничего не блокирует ... Я пробовал разные прокси, веб или нет, и ничего не заблокировалось ... Интересно, сделал ли я что-то не так, htaccess мне кажется правильным!

Если у вас есть идея, это было бы здорово. Я всегда нахожу ответы на Stackoverflow, поэтому решил спросить здесь: P

Ура

Я надеюсь, вы понимаете, что ЕСЛИ вы заставите свои правила блокировки прокси работать, это запретит не только спамеру, но и всем пользователям, использующим прокси.

Вы можете попробовать зарегистрировать заголовок X-Forwarded-For (например, если вы используете apache, добавьте "% {X-Forwarded-For} i" в logformat). Это должно дать вам реальные IP-адреса посетителей в журнале доступа, если только спамер не использует анонимные прокси. Затем сопоставьте отметку времени его сообщения с журналом доступа по протоколу http (используйте временное окно в несколько секунд), и вы должны получить его настоящий IP-адрес. Это может просто сработать.

если спамер использует анонимные прокси, вам может потребоваться модерировать свои сообщения. Вы все равно должны это сделать. Автоматически принимайте сообщения от известных пользователей и модерируйте сообщения новых / ненадежных пользователей. Я не знаю phpbb, но он, вероятно, поддерживает модерацию.

РЕДАКТИРОВАТЬ__

Если вы действительно хотите заблокировать (плохие) прокси, попробуйте использовать mod_spamhaus , он должен блокировать IP-адреса, отправленные для рассылки спама и открытых прокси. Видеть сайт spamhaus чтобы получить представление о том, о каких IP-адресах сообщается. Я не могу придумать никаких правил mod_rewrite, которые могли бы блокировать анонимные прокси (я все думаю об этом)

3 вещи, которые я делаю для своего рабочего сайта, которые помогают устранить 99,9% всего спама в наших контактных формах:

1) измерьте время, прошедшее с момента загрузки контактной формы до момента ее отправки. Если кто-то отправляет форму в течение <10 секунд, это должен быть компьютер, потому что никто не сможет ответить на все необходимые вопросы за это время, даже с помощью плагина для заполнения адресов. Вы можете рассмотреть аналогичную тактику, чтобы предотвратить быструю публикацию скриптов.

2) Если контактное сообщение содержит несколько или подозрительных URL-адресов, отметьте их как спам. Предотвращение множественных URL-ссылок может быть неприемлемым для ситуации с доской объявлений, но если вы можете обнаружить какой-либо конкретный уникальный шаблон URL-адреса в спам-сообщениях, вы можете отфильтровать эти сообщения.

3) у нас есть ложное скрытое поле адреса электронной почты, которое пользователи никогда не увидят, поэтому, если форма отправлена ​​со скрытым полем, имеющим значение, которое, как мы знаем, это не человек ... может быть, вы могли бы сделать что-то подобное с ложным полем для комментариев ?

Они могут не сработать для вас, поскольку они будут реализованы на уровне PHP, а не apache, и они действительно эффективны только против автоматических скриптов, но, надеюсь, по крайней мере, это дает вам некоторые идеи для дополнительных способов решения вашей проблемы со спамом.