日期:2014-05-16  浏览次数:20705 次

关系重大的AJAX提交安全问题。
可能有大神们已经解决,我是小白。这里把问题放出来求解。 
 ajax提交,我用的比较熟悉的是jquery 框架 。比如当我们在做OA,ERP系统时,提交业务单的时候需要保存,一般我们用AJAX提交。 比如我们保存的方法为save()

function save(){
 .............获得表单里一系列的值。
 //当获取值之后我们会把数据提交到后台解析然后写入数据库
$.ajax(...............)

}
而此时问题来了 。因为做业务单,我们不可能每个业务单都去做验证码,相信很多的朋友也不会去做验证码 。我们在IE8上按下F12,弹出调试工具。在$.ajax(...............) 此处设置一个断点。然后填写业务单,进行保存。当点击保存按钮时,我们进入此断点。此时,我测试了下。写了个for(var i=0;i<100;i++){$.ajax(...............)};到监视里去执行。然后继续运行。。。问题出来了 ,数据库暴增100条。 如果我们改成i<1万?i<1亿 ?数据库能承受吗 ?

通过大家是怎么解决的呢 ?这应该算一个比较大的安全隐患吧。

------解决方案--------------------
RP问题。既然关系重大,就这么点分数,要不是强制20是技术区的发帖下限,可能这点都不给吧,一点诚意和谢意都没有,你把这些在没事就让600多万用户密码全泄漏的CSDN上轻易就能得到的可用分数当作金元了?
------解决方案--------------------
这个不光是ajax的问题,普通表单也是一样的,只要按照http格式递交即可。
可以在服务器端保留上次递交的数据(抓http包数据部分,哈希一下),比对一下当前的递交,一样的就不保存。