北极寒流 » 网络资源 » wordpress垃圾评论终极防御技巧(免插件) - 2013.09.27

wordpress垃圾评论终极防御技巧(免插件)

wordpress垃圾评论对那些无法正常防御的网站来说非常的痛苦的,每天要手动删除N多评论,而且还要安装各种各样的插件来杜绝垃圾评论。但是有时候很多wordpress垃圾评论插件也阻止不了一些特别的垃圾评论,下面给大家分享一个wordpress垃圾评论终极防御技巧。

add_action('preprocess_comment','yundanran_preprocess_comment');
function yundanran_preprocess_comment($commentdata){
$comment_post_ID=$commentdata["comment_post_ID"];
$comment_content=$commentdata["comment_content"];
$comment_author=$commentdata["comment_author"];
$comment_author_email=$commentdata["comment_author_email"];
$comment_author_url=$commentdata["comment_author_url"];
$comment_author_IP=$commentdata["comment_author_IP"];
$comment_agent=$commentdata["comment_agent"];
// 验证合法
$nonce=wp_create_nonce($comment_post_ID);
if(!isset($_POST["comment_nonce"]) || $_POST["comment_nonce"]!==$nonce){
wp_die("请勿恶意评论!");
}
// 必须输入中文
if(!preg_match("/[\x{4e00}-\x{9fa5}]+/u",$comment_content))
{
wp_die("请说中国话!");
}
// 是否在黑名单
if( wp_blacklist_check($comment_author,$comment_author_email,$comment_author_url, $comment_content, $comment_author_IP, $comment_agent )){
wp_die("您已被禁止评论!");
}
// 是否登录
if(!is_user_logged_in()){
wp_die("您必须登录之后才能评论!");
}
// 过滤HTML标签
$comment_content=strip_tags($comment_content);
return $commentdata;
}

把上述代码放入主题的functions.php文件中即可。

资料来源:http://qianduanblog.com/2566.html

27

wordpress垃圾评论终极防御技巧(免插件)

分享到: