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

他是怎样越过表单中的必选项到达后台文件的?
在前台文件的表单中设置了几个 checkbox,用 js 语句限定至少选一个,否则不能提交到后台文件。 前后台文件工作的一直很好,可突然有个用户一个 checkbox 也没选,就进入了后台文件,他是怎么做到的?

------解决方案--------------------
禁用js,或者form.submit()就不经你的验证代码了,所以服务器端一定要再验证过,不要相信客户端提交的说几句
------解决方案--------------------
地址栏注入js,使表单验证代码失效,或者用AJAX方式提交表单,这种事我常干,嘎嘎
------解决方案--------------------
记住一句话:一切来自前端的数据都是不可靠的。

把前端表单验证看做是用户体验的提升,让用户提前知道自己错了,然后修改,而不是把前端验证作为安全的阀门,否则会死的很惨。
现在浏览器开发者工具这么强大,控制台,时时代码编辑,破解前端验证分分钟的事。
记得学校的某个系统,一个单选按钮,某个按钮禁用了,右键->审查元素,手动把disabled属性删掉了,然后选中,提交。。。我去,选上了。

这个故事告诉我们,不要相信来自前端的任何数据!