Home » Говорят

Спам в блоге

2 Декабрь 2009 просмотров: 1,382 One Comment

rtБорьба со спамом в комментариях wordpress.

Автор –  seoplayer
Достали автоматизированные средства спама в комментариях?
Спам в комментарии прикрывается очень просто.

1) Открываем path_to_your_theme/comments.php находим:

 <input type="text" name="email" id="email" value="<? echo $comment_author_email; ?>" size="22" tabindex="2" />

Или что-то вроде того. Заменяем на:

<div class="seo"><input type="text" name="email" id="email" value="" size="22" maxlength="1" tabindex="2" /></div>

<input type="text" name="e-m-a-i-l" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />

2) Открываем path_to_your_theme/style.css, в конце добавляем:

.seo {position : absolute; left : -1000px; }

3) Теперь открываем wp-comments-post.. Находим:
$comment_author=trim($_POST ‘author’]);
$comment_author_email = trim($_POST['email']);
$comment_author_url = trim($_POST['url']);
$comment_content = trim($_POST['comment']);

Заменяем на:
$spam_test_field = trim($_POST['email']);
if(!empty($spam_test_field)) wp_die(’NO SPAM!’);
$comment_author = trim($_POST['author']);
$comment_author_email = trim($_POST['e-m-a-i-l']);
$comment_author_url = trim($_POST['url']);
$comment_content = trim($_POST['comment']);

Таким образом, к форме добавления комментария мы прикручиваем дополнительное поле для ввода e-mail, а стандартное поле (по умолчанию) убираем за пределы окна. «Вручную» его нельзя будет заполнить. Если же поле заполнено – значит его  заполнила программа и  комментарий не добавляется.  Вот так просто wordpress фильтрует спам комментарии.

One Comment »

  • Konf said:

    Какая красота))) Дешево и сердито. Спасибо. Добавлю в свои блоги.

Ваши комментарии, пожалуйста!

Добавьте ваш комментарий ниже, или разместите прямой ссылкой с Вашего сайта. Также можно Подписаться на комментарии по RSS.

Будьте умничкой. Не сорите словами и спамом.

Этот сайт интегрирован с системой Gravatar. Вы можете получить свой аватар на офф сайте Gravatar.

Украинский портАл