论前端做校验后服务器端是否还要做校验
看一段很简单的代码:
? ? login.html
login.js
?
? ?此时用Firefox,当然了也要用到firebug.
? ?此时先把Firebug启动,看一下login.html页面的代码如下:
?? ??
? ?注意红色标记的地方
? ?然后做下面的一段操作,也就是选中type,然后将其改为submit
??最后的修改结果如下:
?
这时候再试试点击登录按钮,出事了,居然登录成功了。
?所以不管怎么样,即使前端做了校验,服务器端也必须再做校验,不做校验的情况,
public boolean login(String username) { // 在这里认为username肯定是不为空的 if("xxx".euqals(username)) {return true; } return false;}?如上面所写,既然username肯定不为空,那也就不必再做校验了,省去一些操作多好!此时如按照上面的做法,这一步肯定会抛出java.lang.NullPointerException.程序就这么挂了。
所以由以上的操作可以看出,前端做了校验,服务器端是必须要再次做校验,那样才能保证安全,正确!
?
1 楼 cuisuqiang 2012-05-14 一般来说以前端验证为主,后端验证为辅!
前台验证如果通过,那么后台做的一般都是业务上的判断和验证!
我觉得应该分清轻重,合理分配,不然只讲理论,你的系统还能开发完吗