关于AJAX恶意用户的多次提交!

寒飞a 2012-05-11 02:33:38
例如:页面有个增加操作,往数据库写数据,是用AJAX提交的。
对于正常用户,可能会出现卡的情况,多点2次。我们可以简单的进行在页面上禁用按钮,遮罩层的方式防止用户多次点击。
但是对于非正常用户,随便一个调试工具。如IE调试工具,firebug等。一个断点,可以串改任何JS代码、不管你是做的全局变量的什么判断,统统可以给你改成合法的,再写一个循环N次,数据也是合法的话,那服务器是不是要增加N条数据了。


找了很多关于这方面的,还是没能解我心中疑惑。其中前台处理的统统略过,因为断点调试可以改掉你前台的所有东西。
有个作者将到关于后台的,可以记住用户上一次执行AJAX的时间,然后进行缓存。比如小于3秒,就不让其执行。

但是问题依旧存在,如果我在循环里延时4秒执行,依然还会有大量的数据写入数据库。这同样不是我们所希望看到的结果。
貌似用submit页面回发的方式提交就不会给用户有可调试的机会。
这是第4次发这个问题,希望看者都回一下,顶起来,解小弟心中的疑惑。
...全文
169 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tongjun741 2012-05-15
  • 打赏
  • 举报
回复
和论坛发贴限制一样,间隔10s才能发一次,一小时只允许10贴,这要看你后台的策略了。

前台做任何限制都是没有意义的。我觉得绝对不能相信前台发回来的任何数据,所有数据都要在后台验证,前台的验证只是为了界面友好而已。

submit只是在点击时立即重定向了,没有给firebug调试的机会。自己写程序来实现重复提交依然可以绕过它。

52,782

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧