啊哎呀 發表於 2023-10-22 00:00:00

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

<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
很多WordPress站长都经常受到垃圾评论的滋扰,针对这种情况,采用下面的代码可能会对你有所帮助。<br>
将以下代码加入到functions.php页面中。<br>
使用时任何包含在$bad_comment_content数组内的字符,都将会被自动拒绝留言。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
 </p>
<div style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
<div style="margin: 0px; padding: 0px; outline: none; float: right; line-height: 25.2px; font-size: 14px;">
<span style="line-height: 25.2px; cursor: pointer;"><u>复制代码</u></span>
</div>
代码如下:</div>
<div id="phpcode7" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
function in_comment_post_like($string, $array) { <br>
foreach($array as $ref) { if(strstr($string, $ref)) { return true; } } <br>
return false; <br>
} <br>
function drop_bad_comments() { <br>
if (!empty($_POST['comment'])) { <br>
$post_comment_content = $_POST['comment']; <br>
$lower_case_comment = strtolower($_POST['comment']); <br>
$bad_comment_content = array( <br>
'viagra', <br>
'hydrocodone', <br>
'hair loss', <br>
'xanax', <br>
'tramadol', <br>
'russian girls', <br>
'russian brides', <br>
'lorazepam', <br>
'adderall', <br>
'dexadrine', <br>
'no prescription', <br>
'oxycontin', <br>
'without a prescription', <br>
'sex pics', <br>
'family incest', <br>
'online casinos', <br>
'online dating', <br>
'cialis', <br>
'best forex', <br>
'amoxicillin' <br>
); <br>
if (in_comment_post_like($lower_case_comment, $bad_comment_content)) { <br>
$comment_box_text = wordwrap(trim($post_comment_content), 80, "\n ", true); <br>
$txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a'); <br>
fwrite($txtdrop, " --------------\n = " . $post_comment_content . "\n --------------\n"); <br>
fwrite($txtdrop, " = " . $_SERVER['REMOTE_ADDR'] . " @ " . date("F j, Y, g:i a") . "\n"); <br>
fwrite($txtdrop, " = " . $_SERVER['HTTP_USER_AGENT'] . "\n"); <br>
fwrite($txtdrop, " = " . $_SERVER['HTTP_REFERER'] . "\n"); <br>
fwrite($txtdrop, " = " . $_SERVER['SCRIPT_NAME'] . " - = " . $_SERVER['REQUEST_URI'] . "\n"); <br>
fwrite($txtdrop, '--------------**********------------------'."\n"); <br>
header("HTTP/1.1 406 Not Acceptable"); <br>
header("Status: 406 Not Acceptable"); <br>
header("Connection: Close"); <br>
wp_die( __('bang bang.') ); <br>
} <br>
} <br>
} <br>
add_action('init', 'drop_bad_comments');</div>
頁: [1]
查看完整版本: WordPress实现自动拒绝垃圾评论的方法