1.应用场景
用于请求接口测试.[比如后端接口安全测试] |
2.学习/操作
前言: 服务器端验证是必要的.
方法汇总 方法一
方法二 //即 使验证的js脚本不生效.
方法三
方法四
总结: 绕开前端的验证的方式有很多种,因此在系统中如只加入前端的有效验证,而忽略服务器端验证,是一件很可怕的事情; 但如果只有服务器端验证就那么服务器端的负担会加重,因为前端验证可以保证大部分请求是有效,友善的; 所以我们应该在自己的系统中将其这两种验证方式结合起来使用. |
3.问题/补充
1.如果客户端禁用了 javascript 那如何进行验证? 服务端是必须进行验证的,这是最后一道防线,马虎不得。 举个例子:如果服务端不验证,那么完全可以在任何连接互联网的地方重写一个没有JS验证的表单,然后提交给你网站的程序,后果可想而知,几乎就是自由出入.
客户端的JS验证其实质是提升用户体验,可以让用户提前知道填写资料的对错,否则等到一提交,再返回个错误,把原来填的都清空了,那就抓狂了 根据Javascript优雅退化的原则,页面要在禁用JS的情况下仍然能够正常使用。虽然可能用户体验差了点,少了某些效果,但基本的功能都还是可以实现的. 所以,不要过分地依赖JS,服务端该验证的还得验证.
写服务器程序,给你一个提醒: 不要相信任何客户端数据, JS只是一个辅助验证, 是为了减轻不必要的提交, 比如提交大堆数据过去, 发现有一个数据不合法, 这样岂不是浪费服务器资源?!
但服务器端的是少不了这些验证的, 因为提交者可能不是浏览器,即一些模拟发送工具.
2.服务器是否能区分请求是来自于浏览器还是模拟请求工具? TBD
|
4.参考
http://www.360doc.com/content/13/0925/21/13812121_317077519.shtml //介绍几个绕开JS验证的方法(服务器端验证是必要的) https://blog.csdn.net/william_n/article/details/104995351 // 浏览器 个人实践/理解 |
后续补充
...