问题描述
WEB表单提交数据给后台系统处理增删之类的批量操作,前端已经验证过,是否需要对后台Servlet对参数的接收再次判断是否接受为null,如果为Null提示用户,错误信息,否则处理成功登等呢?关键是后端是否需要再次验证参数接收是否成功问题?哪些情况需要数据有效性的前端验证+后端验证呢?比如我需要将数据库中所有短信发送号码 = 10006 的用户 短信号切换成 10007表单输入10007 后端完成批量切换 问题补充:后台我有效应,各种有效性验证,现在还有一个担心,就是前端表单参数确保有的情况下比如flag = 111,后端是否需要继续对String flag = request.getParameter(“xx”);中的flag判断是否为null呢?
解决方案
http://www.dewen.org/q/6577/%E4%B8%80%E8%88%AC%E9%A1%B9%E7%9B%AE%E5%89%8D%E6%AE%B5JS%E9%AA%8C%E8%AF%81%E4%BA%86%EF%BC%8C%E8%BF%98%E9%9C%80%E8%A6%81%E5%90%8E%E5%8F%B0%E9%AA%8C%E8%AF%81%E7%A0%81http://www.iteye.com/problems/90888http://www.52rs.net/ArticleView.aspx?gID=ac085c49-339b-4315-9447-98e78ac64ae3
解决方案二:
前台校验输入的有效性合法性,否则用户提交后才发现输入错误,第一浪费带宽和加重服务器不必要的负载,第二用户体验差。后台校验的范围更大,前台校验过的后台还要校验,包括用户输入的合法性,以及通过后台进行的校验。第一用户可能通过firbug之类的修改页面元素避过前台校验,第二防止httpclient之类的直接访问。当然,如果安全性要求不高,比如企业内部网络使用的系统,也可以不做有些校验,毕竟要耗时的。有时候可能前台做的校验,后台就不做了。因为仅限于企业内部应用的系统,默认用户是合法的,有些情况下就可以不去考虑那些非法访问的恶意用户了。当然涉及到关键的业务安全的校验是绝对必不可少的。
解决方案三:
引用比如flag = 111,后端是否需要继续对 String flag = request.getParameter(“xx”);中的flag判断是否为null呢? 后台不可或缺的校验有:1、安全性校验:防止刻意访问,如果被黑客钻了空子,后果不言自明2、业务必须校验:用户输入值不正确导致系统出错或者奔溃的情况,如果合法用户输入了错误的值却导致系统出错了不知道怎么处理,这也很可怕你这里后台不判断flag不能为null,会不会导致系统出错呢?如果不会,那就不一样再校验了,发现处理不下去了直接告诉用户无法处理就可以了