看一段很简单的代码:
login.html
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="jquery-1.3.1.js"></script>
<script type="text/javascript" src="login.js"></script>
</head>
<body>
<form action="loginSuc.html" name="login" method="post">
用户名:<input type="text" name="username" id="username"/>
<input type="button" value="登录" onclick="doSubmit()"/>
</form>
</body>
</html>
login.js
function doSubmit() {
var username = $("#username").val();
if(username == '') {
alert("请输入用户名");
return;
}
document.login.action="loginSuc.html";
document.login.submit();
}
loginSuc.html
<h1>登录成功!</h1>
一个很简单的前端校验用户名的代码,如果这时就不输入用户名肯定会给出错误提示。
![](http://dl.iteye.com/upload/attachment/0068/0707/257fc985-1d39-302b-af44-82bf24a17c99.png)
此时用Firefox,当然了也要用到firebug.
此时先把Firebug启动,看一下login.html页面的代码如下:
![](http://dl.iteye.com/upload/attachment/0068/0689/6a21fc68-4a67-34aa-b96f-149216aba962.png)
注意红色标记的地方
然后做下面的一段操作,也就是选中type,然后将其改为submit
![](http://dl.iteye.com/upload/attachment/0068/0733/f29b8bf2-58c1-3a16-bba3-ef1df9a928b9.png)
最后的修改结果如下:
![](http://dl.iteye.com/upload/attachment/0068/0699/7273fc59-26ba-3612-bc27-d294dcd40549.png)
这时候再试试点击登录按钮,出事了,居然登录成功了。
![](http://dl.iteye.com/upload/attachment/0068/0703/b49c5d77-d7be-3b87-9a06-be4d7b877507.png)
所以不管怎么样,即使前端做了校验,服务器端也必须再做校验,不做校验的情况,
public boolean login(String username) {
// 在这里认为username肯定是不为空的
if("xxx".euqals(username)) {
return true;
}
return false;
}
如上面所写,既然username肯定不为空,那也就不必再做校验了,省去一些操作多好!此时如按照上面的做法,这一步肯定会抛出java.lang.NullPointerException.程序就这么挂了。
所以由以上的操作可以看出,前端做了校验,服务器端是必须要再次做校验,那样才能保证安全,正确!
分享到:
相关推荐
验证码图片校验是指将用户输入的验证码与服务器端保存的验证码进行比较,以确定用户的输入是否正确。在 SpringBoot 中,我们可以使用 HttpSession 对象来保存验证码,并在服务器端进行校验。 * 使用 HttpSession ...
在开发Web应用时,数据校验是确保数据质量和安全的重要...前端校验为用户提供即时反馈,而后端校验确保了数据的正确性,防止恶意数据进入系统。通过这种方式,我们可以在不牺牲用户体验的同时,保证数据的安全和质量。
这对于防止无效数据的提交,提升用户体验,以及减少服务器端处理负担具有重要意义。此外,由于该文件包支持即时反馈,用户可以在填写表单时立即得知输入内容是否存在问题,并得到相应的提示信息,这大大提高了交互...
如果对HTTP协议比较熟,甚至还可以在程序中手动构造一段HTTP请求发到服务器,所以服务器端的数据校验绝对是必不可少的。 WEB前端数据校验的意义在于改善用户体验,用户不用等到將数据提交到服务器后才知道哪些数据是...
后端验证则在服务器端进行,确保数据的安全性。Struts2利用拦截器机制实现了这一功能。`<interceptor name="validation" class="org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor">` 这...
同时,Node.js 的出现,也使得前端开发可以直到服务器端的开发。 五、Modern Age(现代前端发展) 现在的前端开发已经变得非常复杂和多样化。出现了许多新的技术和框架,如 PWA(Progressive Web App),React ...
悟空CRM采用全新的前后端分离模式,本仓库代码中已集成前端vue打包后文件,可免去打包操作 如需调整前端代码,请单独下载前端代码,前端代码在根目录的ux文件夹中 主要技术栈 后端框架:ThinkPHP 5.0.2 前端MVVM...
当用户发送请求时,前端会在请求头部携带token,服务器端将验证token是否有效。如果token无效或过期,服务器将返回401状态码,前端将重定向到登录页面重新进行登录。 在axios请求拦截器中,可以使用interceptors....
接口其实就是前端页面或 APP 等调用与后端做交互用的,功能测试只是在前端做 了校验,后端可能没做校验,如果用户名和密码未在后端做校验,而有人又绕过前 端校验的话,会严重危害系统安全。如果是登录,可能会通过 ...
前端验证是指在客户端使用 JavaScript 等技术实现的验证,而服务器端验证是指在服务器端使用 Java 等语言实现的验证。服务器端验证是指在服务器端对用户输入的数据进行验证,以确保数据的正确性和安全性。 JSR 303 ...
在前后端分离的架构中,前端通常会进行初步的参数校验,但后端校验同样重要,以防止恶意攻击和数据异常。Spring Core提供了一种优雅的方式来处理参数校验,特别是通过JSR 303、JSR 349和JSR 380这些标准注解,实现了...
1. 在服务器端生成随机字符和对应的图片:使用Kaptcha库可以方便地生成验证码图片,并且支持配置多种参数(如字体、噪点、边框等)以满足个性化需求。 2. 将随机字符保存到Session中:可以通过将随机字符保存到...
后端校验是在服务器端对数据进行更严格的验证,例如,除了再次检查格式外,还可以检查数据的完整性、逻辑性,比如年龄是否为正整数,或者邮箱是否已存在等。在SpringMVC中,可以通过Controller层的方法参数注解进行...
3. 后端的任何接口都是需要加校验的,即使前端增加了校验,后端仍要增加校验,防止前端校验失效等问题。 4. 已上线的项目,业务是累积的,数据量也是叠加的,需定时排查生产环境数据量,防患于未然。 5. 对于大表的...
在网页开发中,表单验证是必不可少的一个环节,它确保用户输入的数据符合预期,减少服务器端的压力,提高用户体验。本实例主要介绍如何使用JavaScript来完成一个注册页面的表单校验。 首先,我们需要了解表单验证的...
在IT行业中,前后端交互是构建Web应用的关键环节,它涉及到客户端与服务器之间的数据通信。在本记录中,主要讨论了几个关键的功能模块,包括登录、学生端的请假申请、请假记录查看、个人信息查看和密码修改,以及...
MineboatX项目是项目的服务器端实现,可以作为单独的项目使用。 Mineboat是一个前一级分离的框架,目的是实现一个非分布式的简单框架。 Mineboat根据这样一个需求:当需要建造一个简单的网站的时候,希望能够快速...
1. **JavaScript校验**:攻击者可以通过禁用浏览器的JavaScript来轻易绕过前端验证。 2. **Content-Type(MIME)校验**:使用抓包工具修改数据包的Content-Type字段可绕过限制。 3. **文件内容头校验**:创建图片马...
安全的下载机制,断点下载,权限校验,他人拿到了下载地址也无法下载您的文件 支持视频音频播放,进度条拖拽,倍速播放 拥有回收站功能,妈妈再也不怕我误删数据了 高效的垃圾回收机制 未来支持 文件夹上传 文件在线...
秒杀一般都是特定的商品还有页面模板,现在一般都是前后端分离的,页面一般都是不会经过后端的,但是前端也要自己的服务器啊,那就把能提前放入 cdn服务器 的东西都放进去,反正把所有能提升效率的步骤都做一下,...