查看: 96|回覆: 0

[教程] WordPress实现自动拒绝垃圾评论的方法

[複製鏈接]

6

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-9-20
發表於 2023-10-22 00:00:00 | 顯示全部樓層 |閲讀模式

很多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');
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部