Даже если у вас стоит защита от спама в виде картинки или какой — другой вариант, все равно найдутся умельцы обойти вашу защиту и попытаться добавить в комментариях очередной спам.
Вы можете вставить в файл 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. Вы можете его отредактировать или расширить.
Спам замучил? Есть вариант его уменьшить
Олег Власов Олег Власов ovlasov49@gmail.com Коллекция бесплатных тем WordPress с авторским переводом WordPress Collection спамДаже если у вас стоит защита от спама в виде картинки или какой — другой вариант, все равно найдутся умельцы обойти вашу защиту и попытаться добавить в комментариях очередной спам.
Вы можете вставить в файл 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. Вы можете его отредактировать или расширить.
Понравилась статья? Поделись с друзьями!
Прикольное решение, со списком слов
а можете подсказать, как изменить регистр букв в заголовках постов, по умолчанию стоят заглавные буквы, хотелось бы сменить на строчные, файл style.css не помог:-(
А как вы хотели изменить? Как раз файл стилей и надо редактировать. Если стоят все заглавные буквы, это свойство «text-transform», у него бывают значения:
capitalize — первый символ каждого слова в предложении будет заглавным, остальные символы свой вид не меняют.
lowercase — все символы текста становятся строчными (нижний регистр).
uppercase — все символы текста становятся прописными (верхний регистр).
none — не меняет регистр символов.
inherit — наследует значение родителя.
Изменитьв заголовках статей, выводятся заглавными по умолчанию, собственно text-transform и пыталась применить — никаких изменений…
Решила, что нужно копать дальше, а вот куда, пока не понятно.
Ответ нашелся в файле system.css, но! пока изменения видны только в опере, в хроме и лисе все как было, и новые материалы создаются тоже с заглавными, кеш или глюк? Хотя сегодня хром пару часов отказывался яндекс открывать…
Пользуюсь Акисметом — норм. Бывает пропускает или бракует, но в целом отличный антиспам.