wordpress – борьба со спамом…
По мере роста популярности сайта проблема спама в комментариях становиться все более и более актуальной.
На сегодняшний день существует целый ряд расширений для wordpress, призванных облегчить борьбу с этой гадостью. Но некоторые расширения делают это за счет того, что пользователям приходиться дополнительно подтверждать, что они люди, либо возлагают на администратора сайта дополнительную работу.
До сих пор мне удалось найти только два расширения, которые очень эффективно борются со спамом в комментариях – это стандартный Akismet и расширение, про которое я уже писал – WP-SpamFree.
WP-SpamFree очень эффективно отслеживает спам-ботов (используется две технологии, это обязательно должен быть включен java-script и кукисы у пользователя, для того, чтобы отправить комментарий), а спам от людей отсеивается с помощью Akismet, за счет взаимодействия с базой спамеров на офсайте данного расширения.
Но на днях я встретил еще один очень интересный метод борьбы со спам-ботами. Принцип действия основан на том, что спам-боты удаленно обращаются к файлу wp-comments-post.php и соответственно реферал у запроса будет отличен от домена сайта. Поэтому просто добавляем строки в файл .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*juev.ru.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>
# END WordPress
Добавленные строки выделены жирным, и вместо juev.ru нужно будет вписать свой домен.
После добавления данных строк, плагин WP-SpamFree остановил свой счет на 117 спам-комментариях, это значение, которое он набрал до того, как были вписаны эти строки. В тоже время, комментарии с сайта прекрасно отправляются (проверено). Просто до безобразия и очень эффективно. Рекомендую к использованию!
Похожие записи:
- WordPress AntiSpam
- обновление плагинов wordpress
- Обновления блога…
- Тестирование антиспам-плагина
- Оптимизация WordPress
Метки: Wordpress

Один вопрос:
я хочу сделать чтобы при обращении например на url «site.com/dir/» при существованиии папки dir, она не открывалась, а запрос направлялся на index.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d # Если я удаляю эту строку, то почемуто вообще не могу попасть на страницы сайта, или у меня ошибки какие-то
RewriteRule . /index.php
А зачем вы удаляете эту строку?
Если у вас этих папок не так уж и много, я думаю так оно и есть, то следует использовать Redirect.
Посмотреть можно тут.
А вот тут рассказывается, как просто закрыть не директорию, а листинг файлов директории, если отсутствует индексный файл. Думаю это будет полезнее для вас…