Олег Власов
logo
Магазин контента WordPress

Коллекция Wordpress

темы и плагины wordpress: установка wordpress, настройка wordpress, использование wordpress, авторский перевод на русский язык шаблонов и плагинов Wordpress

Даже если у вас стоит защита от спама в виде картинки или какой — другой вариант, все равно найдутся умельцы обойти вашу защиту и попытаться добавить в комментариях очередной спам.

Вы можете вставить в файл functions.php вашего шаблона (не путать с файлами WordPress!!) такой код:

function in_comment_post_like($string, $array) {
foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
return false;
}
function drop_bad_comments() {
if (!empty($_POST['comment'])) {
$post_comment_content = $_POST['comment'];
$lower_case_comment = strtolower($_POST['comment']);
$bad_comment_content = array(
'viagra',
'hydrocodone',
'hair loss',
'[url=http',
'[link=http',
'xanax',
'tramadol',
'russian girls',
'russian brides',
'lorazepam',
'adderall',
'dexadrine',
'no prescription',
'oxycontin',
'without a prescription',
'sex pics',
'family incest',
'online casinos',
'online dating',
'cialis',
'best forex',
'amoxicillin'
);
if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
$comment_box_text = wordwrap(trim($post_comment_content), 80, "\n  ", true);
$txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');
fwrite($txtdrop, "  --------------\n  [COMMENT] = " . $post_comment_content . "\n  --------------\n");
fwrite($txtdrop, "  [SOURCE_IP] = " . $_SERVER['REMOTE_ADDR'] . " @ " . date("F j, Y, g:i a") . "\n");
fwrite($txtdrop, "  [USERAGENT] = " . $_SERVER['HTTP_USER_AGENT'] . "\n");
fwrite($txtdrop, "  [REFERER  ] = " . $_SERVER['HTTP_REFERER'] . "\n");
fwrite($txtdrop, "  [FILE_NAME] = " . $_SERVER['SCRIPT_NAME'] . " - [REQ_URI] = " . $_SERVER['REQUEST_URI'] . "\n");
fwrite($txtdrop, '--------------**********------------------'."\n");
header("HTTP/1.1 406 Not Acceptable");
header("Status: 406 Not Acceptable");
header("Connection: Close");
wp_die( __('bang bang.') );
}
}
}
add_action('init', 'drop_bad_comments');

Обратите внимание на список слов в функции $bad_comment_content. Вы можете его отредактировать или расширить.

Информационный партнер
https://www.imind.com — видеоконференции imind. Удобный сервис для тех, кто хочет быть впереди своих конкурентов. Почитайте, что говорят, подумайте о преимуществах, просчитайте выгоды. Наверняка вы не найдете причин, почему этот сервис вам не подходит.

Олег Шпаргалки

Даже если у вас стоит защита от спама в виде картинки или какой — другой вариант, все равно найдутся умельцы обойти вашу защиту и попытаться добавить в комментариях очередной спам.

Вы можете вставить в файл functions.php вашего шаблона (не путать с файлами WordPress!!) такой код:

function in_comment_post_like($string, $array) {
foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
return false;
}
function drop_bad_comments() {
if (!empty($_POST['comment'])) {
$post_comment_content = $_POST['comment'];
$lower_case_comment = strtolower($_POST['comment']);
$bad_comment_content = array(
'viagra',
'hydrocodone',
'hair loss',
'[url=http',
'[link=http',
'xanax',
'tramadol',
'russian girls',
'russian brides',
'lorazepam',
'adderall',
'dexadrine',
'no prescription',
'oxycontin',
'without a prescription',
'sex pics',
'family incest',
'online casinos',
'online dating',
'cialis',
'best forex',
'amoxicillin'
);
if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
$comment_box_text = wordwrap(trim($post_comment_content), 80, "\n  ", true);
$txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');
fwrite($txtdrop, "  --------------\n  [COMMENT] = " . $post_comment_content . "\n  --------------\n");
fwrite($txtdrop, "  [SOURCE_IP] = " . $_SERVER['REMOTE_ADDR'] . " @ " . date("F j, Y, g:i a") . "\n");
fwrite($txtdrop, "  [USERAGENT] = " . $_SERVER['HTTP_USER_AGENT'] . "\n");
fwrite($txtdrop, "  [REFERER  ] = " . $_SERVER['HTTP_REFERER'] . "\n");
fwrite($txtdrop, "  [FILE_NAME] = " . $_SERVER['SCRIPT_NAME'] . " - [REQ_URI] = " . $_SERVER['REQUEST_URI'] . "\n");
fwrite($txtdrop, '--------------**********------------------'."\n");
header("HTTP/1.1 406 Not Acceptable");
header("Status: 406 Not Acceptable");
header("Connection: Close");
wp_die( __('bang bang.') );
}
}
}
add_action('init', 'drop_bad_comments');

Обратите внимание на список слов в функции $bad_comment_content. Вы можете его отредактировать или расширить.

Информационный партнер
https://www.imind.com — видеоконференции imind. Удобный сервис для тех, кто хочет быть впереди своих конкурентов. Почитайте, что говорят, подумайте о преимуществах, просчитайте выгоды. Наверняка вы не найдете причин, почему этот сервис вам не подходит.

Понравилась статья? Поделись с друзьями!

Что еще читают:

Рубрика: Шпаргалки

Внимание!

Прежде, чем задавать свой вопрос - пожалуйста, прочитайте F.A.Q.

5 коммент. пока.

  1. Катя:

    Прикольное решение, со списком слов :-)
    а можете подсказать, как изменить регистр букв в заголовках постов, по умолчанию стоят заглавные буквы, хотелось бы сменить на строчные, файл style.css не помог:-(

    • admin:

      А как вы хотели изменить? Как раз файл стилей и надо редактировать. Если стоят все заглавные буквы, это свойство «text-transform», у него бывают значения:
      capitalize — первый символ каждого слова в предложении будет заглавным, остальные символы свой вид не меняют.
      lowercase — все символы текста становятся строчными (нижний регистр).
      uppercase — все символы текста становятся прописными (верхний регистр).
      none — не меняет регистр символов.
      inherit — наследует значение родителя.

      • Катя:

        Изменитьв заголовках статей, выводятся заглавными по умолчанию, собственно text-transform и пыталась применить — никаких изменений…
        Решила, что нужно копать дальше, а вот куда, пока не понятно.

        • Катя:

          Ответ нашелся в файле system.css, но! пока изменения видны только в опере, в хроме и лисе все как было, и новые материалы создаются тоже с заглавными, кеш или глюк? Хотя сегодня хром пару часов отказывался яндекс открывать…

  2. Пользуюсь Акисметом — норм. Бывает пропускает или бракует, но в целом отличный антиспам.

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


Если вы хотите добавить код HTML, PHP или CSS, воспользуйтесь коротким кодом: [php]здесь код[/php]





Искать на сайте

icon
Подняться наверхПодняться наверх