Я уже описывал одну хитрость, с помощью которой можно проследить, откуда был отправлен комментарий — действительно ли с одной из страниц вашего блога, или из программы для рассылки спама.
Плагин Comment Referrers поможет защититься от спама тем, у кого в настройках блога стоит пропускать только комментарии тех, у кого уже были ранее одобренные администратором отзывы. Проще говоря, тех, кому уже один раз поверил. Как вы узнаете, что новый комментарий ожидает вашей проверки? Лично я — из почты, куда приходит извещение. Но каждый раз кликать по ссылкам, чтобы проверить, не является ли комментарий спамом, мне утомительно — бывает слишком много явно неоднозначных комментариев, на проверку которых можно потратить пол-дня. Как раз в такой ситуации сильно выручает и выручает этот плагин.
Оказывается, есть автоматический способ запрещать спам, используя этот же принцип.
Если хотите им воспользоваться, то добавьте в файл functions.php код:
function check_referrer() { if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == "") { wp_die( __('Пожалуйста, комментируйте со страницы блога!') ); } } add_action('check_comment_flood', 'check_referrer');
Этот код проверяет реферальную ссылку. Если она существует и совпадает с ссылкой на ваш блог, то комментирование проходит вообще без проблем. Если же нет, то комментарий не будет опубликован, а тот, кто пытается отправить сообщение без реферальной ссылки, получит в ответ “Пожалуйста, комментируйте со страницы блога!”.
«Если она существует и совпадает с ссылкой на ваш блог…»
В этом куске кода нет проверки на совпадение адреса сайта с реферером.
Проверяется только содержит ли переменная хоть какой нибудь текст.
Да, верно. Спасибо за замечание.