1. 首页 > CMS系统 > Wordpress

WordPress实现自动拒绝垃圾评论的方法

很多WordPress站长都经常受到垃圾评论的滋扰,针对这种情况,采用下面的代码可能会对你有所帮助。
将以下代码加入到functions.php页面中。
使用时任何包含在$bad_comment_content数组内的字符,都将会被自动拒绝留言。

 

复制代码
代码如下:
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', 
'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');

本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/wordpress/7744.html

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:8:30-17:30,节假日休息