Еще один способ показать шиш СПАМ-роботам, срущим в комментарии

[ ←Вернуться к стандартному виду ]

Печатная версия

Делаем проверку на существование рефера при постинге коммента, таким образом человек сможет оставить комментарий, а вот боту это уже не удастся. Вписать надо в файл .htaccess, который лежит в корне WordPress, и не забыть поменять yourblog.com на название вашего домена:

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

Источник: Deny wordpress comment posting to no referrer requests.

Для эксперимента добавила в свой .htaccess, посмотрим как будут обстоять дела со спамом. Хотя после включения плагина Math Comment Spam Protection количество спама и так резко уменьшилось.

UPD 10.01.2009

Аналогичный способ, но с functions.php

function check_referrer() {
    if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == "") {
        wp_die( __('Please enable referrers in your browser, or, if you\'re a spammer, bugger off!') );
    }
}
add_action('check_comment_flood', 'check_referrer');

Отсюда.


Оставить комментарий »

  1. # Кинозритель (1) 10.12.2008 в 01:59

    Супер, просто и элегантно, спасибо огромное

  2. # Lecactus (11) 10.12.2008 в 10:23

    а как дела обстоят если человек пришел с рсс-ридера? реферер то там другой - с плагином показывающим реферер в мыле он указывается обычно

  3. # Миша (2) 10.12.2008 в 11:12

    2Lecactus
    В принципе, пользователь может и перегрузить страницу.
    И не все кто читают, оставляют комментарий, поэтому ошибка возникнет у малого количества посетителей.

  4. # Олег Хамутовский (1) 10.12.2008 в 13:35

    @Миша
    Ну не скажите. Я вот например читаю RSS, что бы быстрее отслеживать новые посты. Оно и понятно. Ну и конечно комментирую все интересные мне посты в интересных мне блогах ;) Думаю я не один такой.

  5. # Dimox (4) 10.12.2008 в 14:54

    а как дела обстоят если человек пришел с рсс-ридера? реферер то там другой - с плагином показывающим реферер в мыле он указывается обычно

    Никаких проблем у такого посетителя не возникнет. Ведь сначала он заходит на страницу с записью, и только потом попадает на wp-comments-post.php, если оставляет комментарий. Поэтому в данном случае по любому сохранится реферер сайта.

  6. # Roland Chanishvily (1) 10.12.2008 в 15:34

    У тебя падают вниз сайдбары если резрешение экрaна 1024х768 и у записи нет комментов. Я это увидел в записи "Новинки WordPress 2.7", когда зашел с бука.
    Ошибка видна в ff3 и ie6 и кстати там нету формы комментов.

    Прочитала? Удали это сообщение - нафиг оно на блоге не надо :)

  7. # Oleg Lobach (1) 11.12.2008 в 00:25

    Поле "реферер" не является обязательным и оно вполне может по пути кем-нибудь порезаться (например, Аутпост по-умолчанию реферер выкашивает). Так что есть шанс потерять некоторое количество комментариев/комментаторов.

  8. # Миша (2) 11.12.2008 в 08:14

    2Oleg Lobach
    Outpost не режет по-умолчанию реферов. Он режет в случае, если его так настроить.

  9. # Сергей (1) 12.12.2008 в 01:08

    Странное заблуждение. Добавить реферер к спамилке так же просто, как и поле User-Agent. Более того, это можно делать по умолчанию для всех «целевых» сайтов (типа, робот пришёл с главной страницы данного сайта).

    Зато из-за тупых админов, дорвавшихся до «крутова фаервола» и режущих всем рефереры «для безопасности» пострадают живые читатели. Многие из них как раз даже не поймут, из-за чего у них всё глючит.

    А ведь достаточно просто запретить анонимные комментарии и поставить логин по OpenID. После этого не нужна ни капча, ни навороченный подсчёт антикармы.

  10. # Митяй (1) 12.12.2008 в 15:42

    Я у себя прикрутил решение с запретом оставлять комменты, если пользователь пришел через дырко-проксю. (важно - transparent-proxy провайдеров это не относится!!! они не ставят в шапке подобных пометок)
    RewriteCond %{HTTP:VIA}%{HTTP:FORWARDED}%{HTTP:USERAGENT_VIA}%{HTTP:X_FORWARDED_FOR}%{HTTP:PROXY_CONNECTION} !^$ [OR]
    RewriteCond %{HTTP:XPROXY_CONNECTION}%{HTTP:HTTP_PC_REMOTE_ADDR}%{HTTP:HTTP_CLIENT_IP} !^$
    RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
    RewriteCond %{REQUEST_METHOD} =POST
    RewriteRule .* - [F,NS,L]

    И все. Спама стало в разы меньше. :)

  11. # Vlad Ossipov (1) 11.01.2009 в 20:04

    Сорри, Sonika.
    Нигде на сайте не нашел раздела контакты. Как можно с вами связаться по вопросам сотрудничества? В частности вы занимаетесь веб-версткой?

  12. # Al (1) 16.01.2009 в 01:35

    Проверка реферера при помощи htaccess была неплохим решением, может быть, год-полтора назад. Сейчас большинство спамилок указывают и User-agent, и реферер. Иногда у буржуйских спамеров ещё попадаются тупые спамилки, а "наши" в большинстве оснащены продвинутыми (кстати, возможно благодаря именно продвинутым блогерам, которые раскрывают свои секреты массам). И, как указали комментаторы выше, иногда браузер пользователя не отправит реферер, а он так и не поймёт, что произошло :( Такое случается хоть и нечасто, но и блогеру и комментатору в такой ситуации точно будет обидно.

  13. # Максуд (2) 18.01.2009 в 13:29

    За январь не получил ни одного коммента в стиле "Пеши исчо!". Более того, в разработке два сайта с использованием TDO и без предмодерации, так что при минимальной модификации TDO тоже будет защищены от спама.
    Правда, "ручной" спам валит, но я на него стучу куда надо.

  14. # Пётр (1) 27.01.2009 в 21:30

    Немного устарело, но в целом защита неплохая

  15. # Alex (1) 30.01.2009 в 17:47

    Пользуюсь, но не всегда помогает. Хотя конечно же лучше, чем ничего :)

  16. # Геннадий (1) 30.01.2009 в 21:52

    Для спамеров статью нужно придумать!!!!

  17. # Санек (1) 02.02.2009 в 04:10

    Сонька, ты больная... Это я так - не резко, а с вздыханием даже... Мужика тебе надо, а не ПХП со скулем... Эххх.. бабы, бабы...

  18. # Иван (1) 08.02.2009 в 08:10

    Привет. Надо попробовать. А то действительно уже задолбал этот спам... Спасибо.

  19. # Truper (3) 09.02.2009 в 15:48

    У меня, как вообщем-то и на этом блоге стоит "Math Comment Spam Protection Plugin", от авто спама защищает нормально, а от ручного - никуда не деться.

  20. # splogger (1) 10.02.2009 в 13:19

    привет!

  21. # Колян (1) 18.02.2009 в 15:35

    Интересная идея. Попробую прикрутить к JComments под Joomla.

  22. # Andrew S. (2) 06.04.2009 в 16:02

    Первый способ попробую, на одном из блогов просто задолбали уже.

  23. # Olik (1) 25.04.2009 в 17:37

    Yawasp не пробовала ставить вместо Math?
    http://wordpress.org/extend/plugins/yawasp/

  24. # Валера (2) 15.05.2009 в 10:58

    Защита от СПАМа: Сколько будет 2 + 3

    Это уже не защита. Хрумер например такие тесты проходит. Ставьте капчу, причем такую которую трудно распознать программно. Я например в своем блоге поставил плагин yaCAPTCHA (based on KCAPTCHA) и конец спаму.

  25. # black#FFFFFF 18.05.2009 в 03:41

    Re-captcha, ckaptcha - вот плагинчик под ВП http://www.isinc.com/wordpress/ruarobot/ очень простой в установке. Все настройки в одном. Капча с нелинейным искажением. Взломать по шаблону практически невозможно. Только в полуавтоматическом режиме.
    А проверка реферера - только медвежья услуга пользователям. Если был direct jump из тех же закладок? И пользователь не сможет оставить коммент в этом случае?)
    По существу: тот же IE не всегда устанавливает реферер вообще. У них это входит "в процедуру защиты" по документации.

  26. # Ingvarr (1) 25.09.2009 в 22:44

    Ну боты что-нибудь придумают )

  27. # ironerg 10.01.2010 в 08:11

    Меня честно сказать, встроенный акисмет сполна защищает, посещаемость блога ~ 400 уников, ни одного бота не пропускает О_о

  28. # anton (1) 26.02.2010 в 13:53

    А я немного сделал по другому) в файле wp-comments-post.php изменил строчку $comment_author_url то есть получилась она вот так $comment_author_url   = ""; и спаму каек ;)

  29. # Student (1) 05.05.2010 в 00:37

    Любую капчу можно обойти программно; вопрос лишь как именно;
    ПС можно в "математику" примерчики посложнее засовывать?? Например: (3^4-89)*17 ?? :)

  30. # Андрей (1) 06.05.2010 в 15:55

    Интересно, вышеописанный способ помог избавится от спама? А то я начал делать один блог, о нем еще никто не знает, кроме спамеров  :(

  31. # Prizrak (1) 20.05.2010 в 17:09

    Да со временем любую защиту обойдут спамеры. Единственное, что они не смогу обойти. Это плагин для Вордпресса. Коорый оборачивает все ссылки егаи ноиндекс и ноуфолоу. А в связке со стандартным плагином для защиты от спама под названием Аксимет. Вообще ихо и спокойно. У меня сразу спам прекратился.

  32. # Доставка в одессе (1) 21.07.2010 в 08:44

    Мы ориентируемся на долгосрочное сотрудничество, персональный подход к каждому клиенту, предоставляя точную и необходимую информацию по отправкам находящимся в движении.

  33. # Костя (1) 23.08.2010 в 16:47

    проще в робот тхт, нофолоу сомент

  34. # Дмитрий (1) 18.01.2011 в 21:15

    Думаю посту можно дать плюсик. Ну а так по моему проще включить функцию модерации на блоге, чтобы проверять коментарии перед публикацией, хотя тоже не особый вариант, проверить коментарии допустим очень крупного блога отнимет многовато времени.

  35. # Игорь (1) 31.03.2013 в 14:39

    Три года назад на одном своем сайте сделал одну хитрую, гениальную, и, как водится, простую вещь - слова "Комментарии" и "Добавить комментарий" оформил картинкой, а кнопку "Написать" обозвал "Готово". С тех пор редкий бот "долетает до середины Днепра", несмотря на то, что сайт очень посещаемый, до  8 тысяч в день. Откровенно говоря, я и не помню уже, когда боты были.

Подписаться на фид.
RSS комментариев к этой записи. | TrackBack URI

Написать комментарий


Все саттелиты — в топку! Даже не сомневайтесь. Для вопросов о вордпресс не по теме поста есть два русскоязычных форума по wordpress.

[ ←Вернуться к стандартному виду ]

Печатная версия