小墙防spam优化之兼容app提交评论

我最近真是没有时间码代码呀,刚好声哥提到我网站在手机下不能提交评论,于是检查了一下,发现是之前我改写小墙的时候写反了一个参数,现在整理一下,把完善后的代码共享给大家.

故事背景是这样的:

防spam小墙是Willin大师发明的,可以阻挡大部分机器spam,但是由于它改写textarea并加入对应的检验机制,导致wordpress手机客户端无法提交评论,(因为wordpress app中提交评论时表单用的是默认的name)

我改写是出于两个目的,一是没时间上网,用app回复评论实在太方便,二是关了小墙后实在多了许多spam

于是我思考了片刻,想到在验证机制里加入对手机端的排除.

由于我手机没越狱所以不能直接改写app的内容,而在官方文档里也没有找到app特有的属性(用来排除),所以只好用wp_is_mobile来判断.

这个判断确实较为笼统,好在目前机器spam也没见过用手机ua群发的,所以这样写也没有问题,好了废话说完了下面是代码

   /**
*spamwall-app-compatibility
* coder:
* 2013-10-15
*/

class anti_spam { function anti_spam() { if ( !current_user_can('level_0') ) { add_action('template_redirect', array($this, 'w_tb'), 1); add_action('init', array($this, 'gate'), 1); add_action('preprocess_comment', array($this, 'sink'), 1); } } function w_tb() { if ( is_singular() ) { ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=(["'])comment(["'])(.+)/textarea>#", "textarea$1name=$2Yourid$3$4/textarea><textarea name="comment" cols="50" rows="4" style="display:none"></textarea>",$input);') ); } } function gate() { ( !empty($_POST['Yourid']) && empty($_POST['comment']) || wp_is_mobile() //排除对手机端的验证 ) ? $_POST['comment'] = $_POST['Yourid'] : $_POST['spam_confirmed'] = 1; } function sink( $comment ) { if ( !empty($_POST['spam_confirmed']) || wp_blacklist_check($comment['comment_author'],$comment['comment_author_email'],$comment['comment_author_url'], $comment['comment_content'], $comment['comment_author_IP'], $comment['comment_agent'] ) //以前写过,这个是直接拒绝黑名单用户评论,详见http://xiaohudie.net/code/fuck-spam.html ) { add_filter('preprocess_comment', create_function('', 'err( __("垃圾评论") );' ));//如果没写过err函数的就把''内改成die("垃圾评论"); $is_ping = in_array( $comment['comment_type'], array('pingback', 'trackback') ); if( $is_ping) { die(); } } return $comment; } } new anti_spam();

LIKE OR SHARE IT:

admin发表于Code目录下,标签为,转载请保留链接

TOP DOWN
发表评论

您必须 [ 登录 ] 才能发表留言!

  1. 沙 发 哥特复兴

    沙发,妥妥的

    十月 15, 2013 23:19:52
  2. 板 凳 神父

    实木沙发,妥妥的

    十月 16, 2013 08:11:56
  3. 地 板 ray1980

    膜拜大神

    十月 16, 2013 08:22:15
  4. 地 毯 ISOFTee

    我来鸟

    十月 16, 2013 15:09:30
  5. 地 面 牧风

    前排路过

    十月 17, 2013 09:04:40
  6. 地 下 潇夜语

    又来膜拜蝴蝶大神了..给力..

    十月 17, 2013 12:09:33
  7. 7 楼 xsinger

    我去,又来晚了,神一般的小蝴蝶~~期待你华丽回归,我告诉你我基本能看懂,你信吗?

    十月 17, 2013 21:30:12
  8. 8 楼 wmtimes

    虽说用着小墙,但多多少少还是会有些的。之前很干净,就是最近几个月才有的。

    十月 18, 2013 09:10:49
  9. 9 楼 Aivier

    小墙太麻烦。。。还是大墙比较好

    十月 18, 2013 20:07:42
  10. 10 楼 Amosthr

    看不懂,但感觉很高深的样子。白在网上混了这么久,这里有个美女都不知道。

    十月 18, 2013 23:27:47
  11. 11 楼 Muno

    安卓版本的最新客户端在主题写入小墙的情况下,评论会显示连接错误~老版本的貌似没什么问题~唉,其实校验头像MD5挺好的…

    十月 19, 2013 12:54:24
  12. 12 楼 张书杨

    明年六月份要毕业了?捣鼓毕业还早点吧…看着挺忙

    十月 19, 2013 22:45:52
  13. 13 楼 郑永

    那个小墙代码搞得我当初wordpress客户端不能评论,呵呵。

    十月 23, 2013 06:39:56
  14. 14 楼 萨龙龙

    难得一见小姑娘写代码也这么厉害。

    十月 23, 2013 08:14:24
  15. 15 楼 麦田一根葱

    真是折腾帝啊

    十月 24, 2013 11:29:47
  16. 16 楼 有点蓝

    会写代码的美女,了不起。

    十月 25, 2013 13:06:44
  17. 17 楼 郑永

    调整代码时,不小心贴错代码,导致防止无中文和多链接的判断出问题,那个果真屏蔽很多spam,估计可以直接关闭akime了,再加上你这个,后台那个经常误判。

    十月 27, 2013 20:53:27
  18. 18 楼 跑调的包子

    久违的技术贴

    十月 29, 2013 14:25:14
  19. 19 楼 JOKER

    又过来偷窥你了~

    十一月 3, 2013 14:22:57
  20. 20 楼 yxiao

    路过.

    十一月 9, 2013 03:40:43
  21. 21 楼 零落千起

    就今天…10个小时(上午12点到晚上22点),共收到406条垃圾评论..
    越来越猛了

    十一月 10, 2013 22:57:41
  22. 22 楼 Andrew

    垃圾评论很烦人

    十一月 12, 2013 17:14:23
  23. 23 楼 爱软儿

    垃圾评论 很烦人

    十一月 13, 2013 08:48:18
  24. 24 楼 大路

    又是一个技术妹子,反正我不懂。哈哈哈…权当学习了。

    十一月 16, 2013 20:14:08
  25. 25 楼 大路

    对了,顺便问一下,右边那个Analytics很是有意思,请问能否介绍一下??

    十一月 16, 2013 20:14:52
  26. 26 楼 牧风

    肿么有 WP_List_Table

    十一月 18, 2013 07:46:40
    • 小蝴蝶

      @牧风 anti_spam是一个类呀,从类库里new一个新类的时候防止wp_list_table自动加载失败

      2601室 十一月 19, 2013 02:14:41
      • 牧风

        @小蝴蝶 这两者没有直接关系吧, 我在function新建多个class 也没有和wp_list_table扯上关系

        2602室 十一月 19, 2013 07:52:15
        • 小蝴蝶

          @牧风 = =哦哦,不好意思昨晚迷迷糊糊没仔细看,我复制的时候这段忘去掉,我自己function里有在后台加页面打印数据的部分,所以用得上这个类库

          2603室 十一月 19, 2013 11:48:32
  27. 27 楼 iKx.me

    学习一下

    十一月 18, 2013 17:12:09
  28. 28 楼 yxiao

    蝴蝶妹纸去哪里了.

    十一月 19, 2013 23:03:23
  29. 29 楼 Juncle

    现在没前段时间猖獗了,不过好久了都没用上

    十一月 20, 2013 01:52:20
  30. 30 楼 iKx.me

    过来学习一下

    十一月 22, 2013 09:00:40
  31. 31 楼 新浪微博rss

    花括号居然没有对齐,异端啊!

    十一月 22, 2013 22:14:54
  32. 32 楼 安满小站

    蛮吊的样子

    十一月 25, 2013 21:56:36
  33. 33 楼 TEDLife

    不明觉厉

    十一月 26, 2013 14:24:41
  34. 34 楼 斌果

    我说我怎么在手机一回复就出现不明错误呢!原来是这样

    十一月 27, 2013 08:46:18
  35. 35 楼 神经大爆炸

    蝴蝶侠 能不能帮我个忙 安全联盟扫出我有个页面有 XSS漏洞 我把文件发你邮箱 帮我看看 可以吗?

    十一月 28, 2013 21:42:23
  36. 36 楼 郑永

    路过,哈哈。。。回国一个月,差点把你给忘了,汗。。罪过罪过。。。

    十二月 9, 2013 00:39:22
  37. 37 楼 大路

    真的不懂。好吧,我用多说评论系统,因此没有Spam之苦。哈哈..

    十二月 10, 2013 15:11:01
  38. 38 楼 风子

    最怕技术流的博文里,哈哈

    十二月 12, 2013 14:01:52
  39. 39 楼 Leniy

    首页的大图不错

    十二月 13, 2013 16:08:30
  40. 40 楼 Lostape

    难道这就是传说中的IT界女神?呵呵~~

    十二月 24, 2013 09:06:19
  41. 41 楼 鲜活

    现在的垃圾评论是越来越猖獗了

    一月 3, 2014 19:45:06
  42. 42 楼 铁壶

    这个要了解下了哦

    一月 4, 2014 19:01:24
  43. 43 楼 hu

    啊,8縮進。

    一月 11, 2014 18:29:03