注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

右手船

轻描淡写的...

 
 
 

日志

 
 
关于我

带着残存的那么一点点自尊,很勉强的在这个世界上挣扎的活着……

网易考拉推荐

WordPress 如何有效拦截和过滤垃圾评论:非插件实现拦截无中文留言  

2017-11-04 21:31:57|  分类: 程序源码 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Some Chinese Please插件可以拦截不带中文字的留言,不写入数据库,可有效地减少spam对服务器的无谓使用,其实可以将插件简化一下,直接用代码实现。

将下面代码加到主题functions模板文件中,效果与使用插件相同。

  1. /* refused spam */  
  2. function refused_spam_comments( $comment_data ) {  
  3. $pattern = '/[一-龥]/u';  
  4. if(!preg_match($pattern,$comment_data['comment_content'])) {  
  5. wp_die('评论必须含中文!');  
  6. }  
  7. return$comment_data );  
  8. }  
  9. add_filter('preprocess_comment','refused_spam_comments');  

注:如果使用的是HotNews主题,请将 wp_die 替换为 err,否则显示错误信息时,会造成模版错位,其它使用ajax评论的主题也可参照修改。

其它一些写入数据库的防spam插件不建议使用, 比如官方的防垃圾插件Akismet会在数据库中留下大量的信息,增加服务器负担。

针对那些使用技术手段,比如GET、POST等方式不填写前台表单,直接读取后台程序文件的spam,只有屏蔽IP才能缓解疯狗一样的攻势,其它什么验证码、滑动解锁等等都没用。

可以在.htaccess文件中添加:

  1. Order Deny,Allow  
  2. Deny from xxx.xxx.xxx.xx  
  3. Deny from xxx.xxx.xxx.xx  

禁止某些IP访问。

原文选自知更鸟

  评论这张
 
阅读(1)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017