Защита от спама без плагинов.

Наверное, даже правильно говорить ДО плагинов, потому как данный метод отсекает совсем безруких роботов, принцип работы которых основан на поиске стандартных полей, которые они и заполняют. От ручных спамеров этот вариант не спасёт, но боты это основная сила спаморазнощиков. И да, это описание для верссии WordPress 3 и старше, опробовалось на wordpress 3.2.1, а теперь и на 3.3

Итак, открываем файл /wp-incudes/comment-template.php

Ищем блок:

<code>
'author' => '<p>' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span>*</span>' : '' ) .

            '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',

'email'  => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span>*</span>' : '' ) .

            '<input id="email" name="email" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',

'url'    => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label>' .

            '<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>',
</code>

Меняем name=»author», name=»email» и name=»url» на, допустим, name=»avvvtr», name=»nepochta» и name=»yri».

Далее открываем файл 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;
$comment_author_url   = ( isset($_POST['url']) )     ? trim($_POST['url']) : null;
$comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;

Меняем POST['author'], POST['email'] и POST['url'], на POST['avvvtr'], POST['nepochta'] и POST['yri'], получаем:

$comment_author       = ( isset($_POST['avvvtr']) )  ? trim(strip_tags($_POST['avvvtr'])) : null;
$comment_author_email = ( isset($_POST['nepochta']) )   ? trim($_POST['nepochta']) : null;
$comment_author_url   = ( isset($_POST['yri']) )     ? trim($_POST['yri']) : null;
$comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;

Разлогиниваемся и пробуем добавить комментарий. Если были внимательны и всё сделали правильно, то комментарий добавится и упадёт на модерацию или сразу появится на сайте. В зависимости от Ваших настроек.

Важно! Если Вы обновляете движок, то эту процедуру необходимо повторить, потому что при обновлении файлы, отвечающие за добавление комментариев, заменяются на новые, с настройками «по умолчанию».

Рубрики: Полезные советы
Метки: , , , , , , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Не добавляйте комментарии ради рекламы/ссылок, они будут удалятся либо частично, либо целиком.

*

 

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>