欢迎您,零度科技专业海外服务器租用
公司电话: 24小时电话: 

当前位置:首页>网站建设教程>PHP教程>HDWiki

目录导航

HDWiki防止群发的修改方法

香港硬防(2G)机房 添加于 2010-11-18   HDWiki

HDWiki

网站最怕灌脏水,不管什么网站相信大家都不喜欢人家用灌水机或是群发器之类的东西发很多无用的东西到自己网站上,使用HDWiki没几天发现HDWiki居然也有群发机。弄了半天总算找到方法解决了。

每次即使将用户删除后也照发不误,所发文章全都是发布在ID为1的百科分类下,并且其最后登陆时间为1970-01-01说明用户其实并没有登陆过。所以研究了下修改办法,按以往经验和康盛UHOME的做法是要么在提交页面后面加MD5加密的字符串参数验证要么是给提交页面加一个隐藏域提交MD5加密的字符串参数,然后在提交数据处理页面以该参数的有效性进行验证。如果简单点,我们本可以直接加个固定的参数,然后就行了,这样可以防止一部分群发机,如果群发时有人工干预,那他只需要加上这个参数就行了,所以需要让这个参数是变动的,这里介绍一个简单的做法利用时间函数来控制。下面是HDWIKI防群发的具体修改步骤:

1、修改词条创建表单,增加隐藏域:

打开view/default/目录下的createdoc.htm,查找:<input style="display: none" name="hdwiki" type="text" />

替换为:<input name="tdate" type="hidden" value="{$tdate}" /><input name="hdwiki" type='text' style="display:none">

2、修改数据处理页面,给模板中的隐藏域附值和增加验证:

打开control目录下的doc.php文件,查找:$this->view->assign('navtitle',$this->view->lang['createDoc']."-");

替换为:
//添加时间验证隐藏域值,以防群发机      
$tdate=md5("00isp.com".date('Y-m-d'));   //前面的00isp.com这个可以替换成其它的字符串,如abc,以增加MD5安全性   
$this->view->assign("tdate",$tdate);      
$this->view->assign('navtitle',$this->view->lang['createDoc']."-");

查找:if(trim($this->post['title'])=="" ){$this->message($this->view->lang['createDocTip1'],'BACK',0);}

替换为:if($this->post['tdate']!=md5("baike".date('Y-m-d'))){$this->message("请勿非法提交!",'BACK',0);}
if(trim($this->post['title'])=="" ){$this->message($this->view->lang['createDocTip1'],'BACK',0);}

上面只是在创建词条的第一部增加了验证,这样基本上在一定程度上能防止群发了,如果还不够,则需要在内容编辑页面再增加个隐藏域验证了,这里详述,等遇到问题再说!

原文来自零度科技:http://www.ldisp.com/a/HDWiki/2010/682.shtml

上一篇:HDWiki插件开发详细教程
下一篇:HDWiki词条浏览次数修改

 
了解零度?

零度科技主营全球服务器租用,如果您有服务器租用需求请联系

海外服务器租用

推荐香港、美国、韩国。提供站群服务器、高防服务器租用

海外特价服务器

关注零度特价服务器频道,了解全球特价服务器。

94

业务咨询

    技术服务

      特价活动
        全站搜索
        热门搜索:
        会员
        0通知
        客服
        0特价
        搜索
        TOP
        香港高防服务器,远程桌面,韩国服务器,nginx,反向代理