Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2779543
  • 博文数量: 77
  • 博客积分: 10204
  • 博客等级: 上将
  • 技术积分: 5035
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-05 22:13
文章分类
文章存档

2013年(1)

2010年(1)

2009年(17)

2008年(58)

我的朋友

分类:

2008-03-31 08:24:22

封杀虚拟提交/灌水等方法总结:
               ①. 设置留言频率。
                 
                    例:同一固定IP一分钟内禁止多次留言
     
               ②. 验证码输入。
                    
                    验证码复杂程度设置
               
               ③. 激发操作面板标识。
                     例:鼠标移动到表单域上时动态创建一个hidden表单控件,在服务器端检测是否存
                         在此hidden控制.灌水机不会产生此JS事件,故服务器端脚本检测时不存在此hidden,数据禁止入库
                         缺点:不灵活,用户理论上还是可以对数据进行伪造。如果客户不支持JS,则即使
                         人为输入,也无法提交
                                                  
               ④. 留言内容相似度对比。
                        
                     与现有留言内容比对,相似度超过50%或更多,则禁止入库此方法不好,如果留言记录多,
                     会很花费时间,所以应该使用过滤词表,适用数据量小的情况]
             
               ⑤. 使用过滤词表。
    
                     检查内容中是否有违法词语,很通用,缺点:需要维护者参与
                  
               ⑥. 添加留言状态。 [要求严格的情况下]
                     
                    为留言表加一个状态,管理员手工进行审核如不符合要求删之,
                    缺点,需要维护者参于,不如使用词语过滤表方法,减少维护成本
           
               ⑦. 会员机制
                  
                    仿客禁止留言[只有会员可以留言]
     
               ⑧. 动态验证码机制
                   
                    看看QQ空间的验证码: 当鼠标点击验证码输入框时才会弹出验证码图片!
                    [同样用JS做的,同上边激发操作面板标识原理相同]
                  
               ⑨. 最后一点也是最重要的
                    数据审核与过滤! 如果没有严格的数据审核与过滤机制,上边做的一切都白废,因为DB里依然会存入垃圾数据
                   
                   例如,Email地址检测,留言姓名长度,留言内容长度等各种检测,如果这里松了DB里也同样会有N多垃圾数据?
                         我记得Chinaunix博客留言板[留言内容[text类型]]都没有设限制,我试图在表单里输入几兆的数据未成功。。
                         如果我用CURL或其他方式提交,有没有可能让这个SQL在入库的时候出错?完全可能。。。之方面论坛做的比较好
            
 以上仅针对留言板说事,例如政府网站的留言板。。。。

                   
阅读(1114) | 评论(0) | 转发(0) |
0

上一篇:什么是软件构建?

下一篇:SimpleXML

给主人留下些什么吧!~~