字号+
字号-
垃圾评论层出不穷,从上周到现在两周竟然有400多条英文和垃圾的评论。有些评论一看就是广告,不过绝大部分是链接和英文。
对于垃圾评论我最近使用了一款插件,可以有效的屏蔽,一直没有遇到误判情况。名为”NoSpamNX“,大家可以在后台直接搜,安装启用就行,不用设置。
另外更简单的办法当然是不用插件了。大家都知道,插件多了会加重服务器负担。当然插件多少和网站打开速度没有关系。有关系的只有插件中的js文件。js多的话会影响的。所以大家都宁可不用插件。好了,言归正传。
一、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 (!emptyempty($_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’);
以上代码可以自动屏蔽机器发的留言,但是不能屏蔽人为发的留言。
二、屏蔽指定内容的防垃圾代码
1、以下代码不允许评论中只有英文或者出现<a 随便 href=" 或者rel="nofollow"或者”http://“,如果你的主题没有使用ajax评论,那么请将下列代码添加到function.php中。
function lianyue_comment_post( $incoming_comment ) { $pattern = ’/[一-龥]/u’; $http = ’/[href="|rel="nofollow"|http:\/\/|<\/a>]/u’; // 禁止全英文评论 if(!preg_match($pattern, $incoming_comment['comment_content'])) { wp_die( ”您的评论中必须包含汉字!“ ); }elseif(preg_match($http, $incoming_comment['comment_content'])) { wp_die( ”万恶的发贴机!” ); } return( $incoming_comment ); } add_filter(‘preprocess_comment’, ’lianyue_comment_post’);
2、如果你的主题使用了ajax评论,那么请将下列代码添加到ajax文件合适位置。本主题(风云主题)请将下列代码添加到comments-ajax.php中最后一个个err( __(的下一行。
$pattern = ’/[一-龥]/u’; if (!preg_match($pattern,$comment_content) ) err( __(‘您的评论中必须包含汉字!’) ); $http = ’/[href="|rel="nofollow"|http:\/\/|<\/a>]/u’; if (preg_match($http,$comment_content) ) err( __(‘万恶的发贴机!’) );
以上代码中的汉字大家可以任意改动。
文章出自:https://www.zuifengyun.com/block-spam-non-review-summary.html 版权所有,除注明外皆为原创。文章仅为作者个人观点,不代表醉风云立场。
这么好的文章,怎么没评论呢?
我想把评论中的那个那输入网址去了怎么搞呀