wordspew插件的垃圾留言的解决办法

wordspew插件可以给Blog添加一个实时的ajax聊天窗口,也可以用来当作一个简单留言板,具体效果可见本blog左侧栏的在线聊天模块。本来一直用得挺好的,从昨天开始,突然出现大量垃圾留言,每个都大同小异,最开始都夸奖一下俺的blog很好或者扯些乱七八糟的东西,后面带上四五个链接。回到管理界面,发现这些信息还不能批量删除,所以得想办法从根本上防止这些垃圾的出现。

发送垃圾留言应该是由一些技术含量的,不至于打开一个个的blog,写上信息点击发送,他们一定是利用了wordspew的默认发送地址和方式,直接访问那个地址发送垃圾留言的,所以应该直接从wordspew的源代码入手,修改这个默认发送地址和方式。

在wordspew插件目录下,打开文件fatAjax.php,找到

param = 'n='+ encodeURIComponent(currentName)+'&c='+ encodeURIComponent(currentChatText) +'&u='+ encodeURIComponent(currentUrl);

 将其中的c换成cc:

param = 'n='+ encodeURIComponent(currentName)+'&cc='+ encodeURIComponent(currentChatText) +'&u='+ encodeURIComponent(currentUrl);

再打开文件wordspew.php,找到

$jal_user_text = isset($_POST['c']) ? $_POST['c'] : "";

将其中的c换成cc:

$jal_user_text = isset($_POST['cc']) ? $_POST['cc'] : "";

昨天改完了这里,还是不断出现垃圾留言,重新检查程序的代码,发现作者还预留了一个接口"When user submits and javascript fails",可能是给那些关闭了javascript的访问者用的。可是这个完全没必要,这个插件本来就是javascript堆起来的,关闭了javascript还用个P呀。所以找到它下面的代码,注释之即可:

// When user submits and javascript fails
if (isset($_POST['shout_no_js'])) {
 if ($_POST['shoutboxname'] != " && $_POST['chatbarText'] != ") {
  jal_addData($_POST['shoutboxname'], $_POST['chatbarText'], $_POST['shoutboxurl']);
  
  jal_deleteOld(); //some database maintenance
     
     setcookie("jalUserName",$_POST['shoutboxname'],time()+60*60*24*30*3,'/');
     setcookie("jalUrl",$_POST['shoutboxurl'],time()+60*60*24*30*3,'/');
        //take them right back where they left off
  header('location: '.$_SERVER['HTTP_REFERER']);
 } else echo "You must have a name and a comment";
}

当然如果你想保留这个功能(关闭javascript发送留言),可以在其中加入对$_POST['chatbarText']的判断语句,比如发现超过2个链接就杀无赦,等等。

经过以上修改后,暂时没有新的垃圾信息的骚扰,不知是否以后会新的或者我不知道的垃圾信息发送方式。欢迎留言指正。

查看更多关于, , , 的内容。

你可能感兴趣的
相关文章

12条留言

  • At 2006.05.06 12:56, flimsy said:

    能不能把akismet用在这里呢?那就方便了

    • At 2006.05.06 20:26, zhiqiang said:

      很不幸,托共产党的照顾,我这里用不了akismet.

    • At 2006.05.06 16:06, hhalloyy said:

      改了,希望管用,呵呵。

      • At 2006.05.06 20:18, zhiqiang said:

        从我这里来看是没有问题的,今天一整天都没有垃圾留言,而昨天垃圾信息不断刷屏。

      • At 2006.06.01 00:34, jacky said:

        按照以上方法修改后,写好留言点击发送变的没反映了。

        • At 2006.06.01 12:35, zhiqiang said:

          应该不会的呀,经过好几个人测试了的, 你把地址给我看看?

        • [...] 原载于http://zhiqiang.org/blog/293.html。 [...]

          • At 2006.07.26 08:03, 左手 said:

            请问这方法合适普通的留言板吗?我的站每天被广告灌.删的手软.上网搜索解决办法找到了您这里,我的留言板地址在下面,不是广告,请帮忙看看这类留言板有办法解决吗?谢谢.
            http://www.liutingjun.com/bbs/bbs/index.asp

            • At 2006.07.26 10:16, 左手 said:

              我的留言板很简单的,没有什么后台控制。怎么改变留言传输参量或增加冗余参量?自己给加一个字符验证麻烦吗?本人不太懂这些,给个源文件截图你看看。
              http://www.sz68.com/forum/attachment/Mon_0607/18_677_b3396e130cfa88c.jpg

              • At 2006.07.26 10:58, 左手 said:

                你有什么在线联络方式?我发给你看看吧?要是不忙的话。

                • At 2006.07.26 14:24, zhiqiang said:

                  我对于asp一点也不懂,机器上也没有装asp,你应该去找那些使用了跟你同样的留言程序的人问问。

                • At 2006.08.02 21:18, 出尘 said:

                  我的留言板天天出现垃圾留言,每天得删三十多条,如果隔一天不删真是成灾,不知如何解决呢.

                  (Required)
                  (Required, not published)

                  guest | 注册 | BBS | 管理 | English | 繁體

                  阅微堂

                  Dolly’ll never go away again

                  Loading...
                  Loading...
                  Loading...