Flector

Как защититься от спаммеров с помощью .htaccess?

Мало кто знает, но в кодексе описан весьма эффективный способ защиты от спама с помощью директив в .htaccess. Это, так называемая, серверная защита от спама - она не требует установки какого-либо плагина или изменения кода темы. Вам достаточно добавить в файл .htaccess в корне вашего сайта следующий код:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*testwp.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>

Данный код проверяет поля referrer и user agent. Спам-скрипты давно уже умеют притворяться браузером, поэтому проверка на user agent вряд ли поможет, а вот подделывать referrer в большинстве своем спам-скрипты не умеют (они сразу лезут к файлу wp-comments-post.php, минуя страницы записей), поэтому эффективность такой защиты от спама весьма велика (на личном опыте - больше 95%). Не забудьте только исправить в коде 'testwp.ru' на ваш собственный домен.


Комментарии (2 комментария)
  1. gunvor:

    Скажите пожалуйста, почему в htaccess не работают редиректы?
    мне надо, чтобы в статьях был один адрес, а после клика шел на другой.
    прописываю такого рода код, но перенаправления нет:
    redirect 301 http://один сайт http://другой сайт

    • Flector:
      RewriteEngine On
      RewriteCond %{HTTP_HOST} domain1.ru
      RewriteRule (.*) http://domain2.ru/$1 [R=301,L]
Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!