Спаммеры
Обновил движок блога до 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, будет сообшение об ошибке ![]()
Не знаю, ведут ли спам-боты логи, и читают ли их спаммеры, но очень на это надеюсь, так как они при этом прочитают моё сообщение об ошибке
p.s. А при чём тут обновление? Да при том, что этот файлик каждый раз после обновления надо опять править.



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