前段时间新做的一种校验数据的方式,随机生成的一个多选表单项来校验数据。本以为这样可以防止垃圾信息进入数据库,可不巧的是这种方式也不能防止垃圾信息! 偶对软件的了解太少了,猜了多种方法来阻止垃圾信息,但都一次次失败了。
说明:
随机码生成页面为R,表单页面为A,数据写入页面为B
一开始我怀疑是不是跳过A直接进入B将数据写入到库中,于是就把A给改了地址,结果垃圾信息停止了,说明这些信息是必须走A的!
难道是伪造COOKIES(偶还不了解是如何伪造的),我又在B页面将A页面中的校验码项与提交数据时的SESSION写到入到一个文本文件中,结果并没有获取取得任何值,那就是说垃圾软件在提交的时候并没有添写A页面中的校验码同时也屏蔽了JS(因为我的表单项是使用JS和ASP做的校验),这样一来自然就过了JS的这一步数据校验。唉,对了JS一屏蔽再加上不开COOKIES那自然就通过了校验码这一步,可是又是如何过了R页面随机码的校验呢?如果没有正确的随机码与SESSION中的随机码校验是不能访问A、B页面的!这一步又让我不解!
那现在先做一下JS的调整,将发布页面的Submit表单项给去掉,换成JS的函数,这样一来屏蔽JS应该是发不了信息的!
好像有点效果!~~~
一边写一边想,刚刚又发现在程序端我只做A页面校验码与B页面SESSION的比较,并没有对他们值是不是为空做校验算是一个BUG,这样只要两个值都为空自然就过了此项!