封杀虚拟提交/灌水等方法总结

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