Nobody about something

Спаммеры

Написано 19 августа 2008 в 2:47 - Рубрики: блог

Обновил движок блога до 2.6.1 Ничего не отвалилось :)

Но это так, к слову.

У меня стоит плагин для openID авторизации, и соответственно, в настройках разрешены комментарии без регистрации. Но совсем уж анонимов я не люблю. Поэтому собственнно в форме для комментария обрал поля для ввода имени и e-mail`а (без openID они должны быть заполнены). То есть аноним теперь просто не может оставить коммент, так как ему некуда вводить ник и e-mail.

Всё бы хорошо, но спаммеры пошли умные. Они спамят напрямую POST запросами на скрипт.

Как это побороть. Несложно. Берём файл wp-comments-post.php, открываем его и ищем такие строки

if ( get_option(‘require_name_email’) && !$user->ID ) {
  if ( 6 > strlen($comment_author_email) || ” == $comment_author )
    wp_die( __(‘Error: please fill the required fields (name, email).’) );
  elseif ( !is_email($comment_author_email))
    wp_die( __(‘Error: please enter a valid email address.’) );
}

Что в них собственно делается. Тут проверяется заполнение полей сайта имени коментатора и е-мейла. Но ведь у нас эти поля в форме отсутствуют, соответственно поля не могут быть заполнены.

Поэтому делаем так: убираем один символ(отрицание) во втором вложенном условии и меняем сообщение об ошибке

if ( get_option(‘require_name_email’) && !$user->ID ) {
  if ( 6 > strlen($comment_author_email) || ” == $comment_author )
    wp_die( __(‘Error: please fill the required fields (name, email).’) );
  elseif ( is_email($comment_author_email))
    wp_die( __(‘FUCK YUU SPAMMER!!!!!’) );
}

Соответсвенно, теперь, если введён корректный e-mail, будет сообшение об ошибке :D
Не знаю, ведут ли спам-боты логи, и читают ли их спаммеры, но очень на это надеюсь, так как они при этом прочитают моё сообщение об ошибке :)

p.s. А при чём тут обновление? Да при том, что этот файлик каждый раз после обновления надо опять править.

Комментарии (4) на запись “Спаммеры”

  1. http://ihtiandr.info/ пишет 22 августа 2008 в 21:29

    Прикольно, но думаю боты этого не читают. Кстати, плагин Anti-XSS-Attack должен помочь тебе в защите от них, ведь нельзя будет спамерить на скрипт напрямую без реффера, настоятельно рекомендую, иначе мало ли какие еще дыры найдут в скриптах.

    А я рекапчу прикрутил и все, ни один спамер пока не прорвался через нее.

  2. Sergey Klimov пишет 24 августа 2008 в 23:20

    А у меня последнее время только один спаммер проявляется, это Слава. Чем уж он так Akismet’у не нравится понять никак не могу.

  3. tuupic пишет 28 августа 2008 в 17:54

    Anti-XSS-Attack не поможет. Я посидел, почитал логи. Бот вначале заходит на страницу, а потом с неё уже пытается отправить POST запрос. То есть реферер-то есть.
    А рекапча твоя вполне конкурирует с капчами рапиды. Иногода охота что-нить написать, но не пишу, потому что надоедает разгадывать твою рекапчу по полчаса.

  4. Sergey Klimov пишет 30 августа 2008 в 6:59

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

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