为何前端验证之后还需要后端验证。

看一段很简单的代码:

    login.html

Html代码   收藏代码
  1. <span style="font-size: small;"><html>  
  2.     <head>  
  3.         <title>Test</title>  
  4.         <script type="text/javascript" src="jquery-1.3.1.js"></script>  
  5.         <script type="text/javascript" src="login.js"></script>  
  6.     </head>  
  7.     <body>  
  8.         <form action="loginSuc.html" name="login" method="post">  
  9.             用户名:<input type="text" name="username" id="username"/>  
  10.             <input type="button" value="登录" onclick="doSubmit()"/>  
  11.         </form>  
  12.     </body>  
  13. </html></span>  

login.js

Js代码   收藏代码
  1. <span style="font-size: small;">function doSubmit() {  
  2.     var username = $("#username").val();  
  3.   
  4.     if(username == '') {  
  5.         alert("请输入用户名");  
  6.         return;  
  7.     }  
  8.   
  9.     document.login.action="loginSuc.html";  
  10.     document.login.submit();  
  11. }</span>  

   loginSuc.html

Html代码   收藏代码
  1. <span style="font-size: small;"><h1>登录成功!</h1></span>  


   一个很简单的前端校验用户名的代码,如果这时就不输入用户名肯定会给出错误提示。

 


 


   此时用Firefox,当然了也要用到firebug.

   此时先把Firebug启动,看一下login.html页面的代码如下:



     

   注意红色标记的地方


   然后做下面的一段操作,也就是选中type,然后将其改为submit



 

 最后的修改结果如下:


 

这时候再试试点击登录按钮,出事了,居然登录成功了。



 

所以不管怎么样,即使前端做了校验,服务器端也必须再做校验,不做校验的情况,


Java代码   收藏代码
  1. <span style="font-size: small;">public boolean login(String username) {  
  2.     // 在这里认为username肯定是不为空的  
  3.     if("xxx".euqals(username)) {  
  4.     return true;  
  5.     }  
  6.   
  7.     return false;  
  8. }</span>  
 

如上面所写,既然username肯定不为空,那也就不必再做校验了,省去一些操作多好!此时如按照上面的做法,这一步肯定会抛出java.lang.NullPointerException.程序就这么挂了。


所以由以上的操作可以看出,前端做了校验,服务器端是必须要再次做校验,那样才能保证安全,正确!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值