Фотоопыт На главную блога Нирвана



Долой спамеров!

26.07.2009 12:14

Ля-ля-ля, спамеры идут лесом строевым шагом! И не надо накакой капчи устанавливать и не надо нагружать движок плагинами, все идеально и просто.
За последние недели меня просто-таки доканали десятки спам-комментариев про шлюх, оргазмы и пенисы. Были комменты и на другие тематики, но среди моря порнухи они даже заметны не были. Конечно, я мечтала избавиться от такого наплыва говна. Но как же это сделать без плагинов, если я терпеть не могу нагружать движок? Способ был найден!

Итак задача, как сделать чтобы спамерский автомат перестал пулять в ваш блог мильёны комментариев? Очень и очень просто.

Идем в папку с шаблоном, на котором работает ваш блог, — /wp-content/themes/название темы/, и находим там файлы comments.php и comments-popup.php. В зависимости от того, какая у вас тема, одного из файлов может не быть. Не переживайте, значит так надо :) Например, у меня есть только файл comments.php, вот его-то я и правила.
Открываем указанные файлы и находим там следующие строчку:

<input type="text" name="author" id="author" value="<?php echo $comment_author; ?>">

Она, конечно, у вас может немного отличаться, но главное, чтобы в name и id было именно author.

Отметьте для себя глазом, где находится эта строчка и дальше поищите еще одну строчку:

<input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>">

Она по идее должна идти почти сразу после первой строчки. В ней главное должны быть name и id с email.

Теперь самое важное. Поменяйте в первой строчке в обоих случаях (и в name и в id) “author” на “email”, а во второй строчке наоборот “email” на “author”.
Не забывайте, что редактировать файлы нужно в современном редакторе, например, в Notepad ++, иначе после обновления файлы могут вообще не работать.

В результате должно получиться следующее:

<input type="text" id="email" name="email" value="<?php echo $comment_author; ?>" />

и

<input type="text" name="author" id="author" value="<?php echo $comment_author_email; ?>" />

Зачем это делать объясню позже, сейчас нам нужно еще кое-что подредактировать.

Идем в главную директорию вашего блога и находим там файл wp-comments-post.php
Открываем его и находим строчки:

$comment_author = ( isset($_POST['author']) ) ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) ) ? trim($_POST['email']) : null;

Также меняем в нем author на email и наоборот. Вот что должно получиться в результате:

$comment_author = ( isset($_POST['email']) ) ? trim(strip_tags($_POST['email'])) : null;
$comment_author_email = ( isset($_POST['author']) ) ? trim($_POST['author']) : null;

Теперь дело сделано, обновите файлы на сервере и усё!

Объясняю чего мы такого натворили.
Спам-боты это роботы, в них заложена программа с простыми установками: писать имя автора в поле ‘author’, а электронный адрес в поле ‘email’. Мы с вами поменяли местами эти поля, вернее функционал каждого их этих полей. Для обычного пользователя все осталось по-прежнему, у него же есть глаза и он видит, что вот сюда надо ввести свое имя, а сюда email. Роботы же видят только код, а в соответствии с ним, сначала надо вводить email, а потом уже имя. Получается, что роботы вводят имя в поле email, но в вордпрессе стоит проверка на правильность электронного адреса. В итоге выходит, что введеная роботом информация просто-напросто не проходит валидацию.

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



Трекбек

Ссылка для трекбека:
http://florchik.ru/blog/advices/1309.html/trackback

Комментарии

alex говорит:

Все гениальное просто! Спасибо.


Цитата

Post a comment


Если у вас есть блог ЖЖ, то введите его название в виде user.livejournal.com, и вы будете всегда здесь авторизованы, как жж-пользователь!

Календарь

Февраль 2012
Пн Вт Ср Чт Пт Сб Вс
« Янв    
 12345
6789101112
13141516171819
20212223242526
272829  

Рубрики

Последние записи


Метки

Внешние ссылки

Внутренние ссылки