论前端做校验后服务器端是否还要做校验

看一段很简单的代码:

    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>


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

 


 


   此时用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.程序就这么挂了。


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


 

【参数校验】的实现方案:前端校验、后端校验、数据库校验 参数校验的实现可以根据具体的应用场景、技术栈和业务需求选择不同的方法。以下是几种常见的实现方式,以及在不同层次(如前端、后端、数据库层)上如何进行参数校验的指导。通过以上多层次、多角度的参数校验策略,我们可以构建出既安全又高效的系统,确保数据的质量和用户体验的同时,也提高了系统的稳定性和可维护性。前端校验是用户提交数据的第一道防线,它可以提供即时反馈,改善用户体验,并减少不必要的网络请求。后端校验是确保数据安全性和准确性的关键,它不应该依赖于前端校验,因为前端的验证可以被绕过。参数校验,应如何实现? 阅读详情

相关推荐

基于航位推算与多传感器融合的高精度避障小车设计

航位推算(Dead Reckoning)是一种在无外部定位信号下通过里程计与惯性测量单元(IMU)持续积分估计位姿的基础导航方法,其核心在于运动学建模、误差累积抑制与多源数据融合。该技术具备低依赖、高实时、强确定性等工程优势,广泛应用于服务机器人、AGV、竞赛无人平台等受限环境下的自主导航系统。结合编码器高分辨率测距与九轴IMU姿态解算,可显著抑制纯里程计漂移,提升短时定位精度至厘米级。本文以全国大学生电子设计竞赛K题为背景,深入实现了一种面向确定性场地的离线建图+航位推算双模协同架构,重点解决嵌入式资源约

weixin_36328210的博客 82

为什么我们在前台输入框加了校验后台还要加校验呢

因为,有的请求它不走前台而是直接访问后台,比如postman发送json来请求后台,而携带的json 是没有校验的,此时就会因数据不符合要求从而造成后台各种报错。 我们经常写一些表单会加一些验证,来规范用户输入,比如: 那么,既然前台都已经校验了,后台直接接收不香吗,还非得在后台再做一次校验,原来这都是为了防止因数据不符合要求从而造成后台各种报错,比如我们可以使用postman等工具发送一些json数据,而这些数据是不用校验的,这时就会造成服务器各种报错。 ...

cm_pq的博客 1306

元数据及数据仓库相关概念

文章目录元数据(metadata)的概念Data about Data定义技术元数据业务元数据总结数据仓库ODS简单的理解为 Operational Data Store, 运营数据仓储 数据整合层(也叫做数据缓冲层)EDW简单理解为 Enterprise Data Warehouse, 企业数据仓库ODS与EDW之间的差异使用角色数据来源数据获取性能和及时性数据架构数据共享能力数据系统提供应用数...

frone的专栏 3139

前端校验和后端校验区别

前台验证数据格式 后台验证的是数据的正确性 当下流行的系统架构方案中,前端和后端都是分离开的。 目的:① 为了方便前端开发人员和后端开发人员可以同时开发;② 前后端分离也使得前后端的代码可以分开进行管理,方便了各自的版本迭代及控制。 1.1前端校验 就是通过前端技术,在浏览器(B/S模式中的B(browser)端)上面可以进行简单的数据检查。 如果前端不进行任何的数据检查,直接把数据发送给后端,让后端来进行检查的话,那么就会带来这样的问题: 太浪费网络,对于网站本身来说完全就是在浪费流..

weixin_38383877的博客 1万+

麒麟OS(Kylin OS)操作系统minikube+docker安装使用及遇到的问题

一 ,安装minikube及操作工具kubectl 1,安装kubectl 使用以下命令下载最新版本: curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" 要下载指定版本(例如v1.22.0版本) ,请键入: curl -LO https://dl.k8s.io/release/v1.22.0/bin/linux/amd..

qq_23396017的博客 2644

强化学习-----DQN(Deep Q-network)

DQN(Deep Q-Network)是一种基于深度学习和强化学习的算法,由DeepMind提出,用于解决离散动作空间下的马尔科夫决策过程(MDP)问题。它是首个成功将深度学习应用于解决强化学习任务的算法之一。DQN,即深度Q网络(Deep Q-network),是指基于深度学习的Q-Learing算法。那什么是Q-leaning?可以看上一篇文章Q-learning是一种经典的强化学习算法,用于解决马尔可夫决策过程(Markov Decision Process,MDP)中的控制问题。

qq_74722169的博客 2万+

关于前端对表单进行了过滤后是否还需要进行后台的验证

关于前端对表单进行了过滤后是否还需要进行后台的验证 答案是:必须的; 前端验证与后端验证: 1.1: 前端的表单验证的好处: 可以减少服务器的处理压力,提高了响应效率,从而提高了用户的体验; 1.2 前端验证可以没有,但是后台的验证必须要有: 原因: 1.安全性: 可以用许多工具来绕过前端,修改前端的方式避开js的处理方式,如,一些像银行账户,密码等这种安全性的信息不仅仅是需要后台验证,还需要经过各种加密来提高安全等级; 2.前端的验证具有局限性,像身份证的验证,需要使用数据库等,调用api,进行

等待のL先森的博客 521

晟矽微MC32F7361定时器的使用案例说明

110所以TIMER0所用的频率是FCPU的1/64,也就是8/64MHZ. 为1/8MHZ。//io口下拉电阻 1:enable 0:disablea。//io口上拉电阻 1:enable 0:disable。//io口下拉电阻 1:enable 0:disable。//io口上拉电阻 1:enable 0:disable。//io口下拉电阻 1:enable 0:disable。//io口上拉电阻 1:enable 0:disable。

liyanfei123456的博客 1134

说说前台校验和后台校验

前台的验证一般是通过Javascript,js代码是可以被禁用和篡改的,所以相对后台检验而言,安全性会低一些。 前台校验不需要服务器返回数据的选项,例如密码为空啊,邮箱不合法啊,但是也需要后台校验,例如用户名重复校验,必须提交后台查询数据库,返回是否重复。原则就是能前台JS校验的就前台校验,一来快捷,二来减少服务器的压力。 前台是用js校验的,性能比较好,但缺点是不安全 后台

5824

Vue2 - 详细实现网页 “开启录音并生成音频文件,上传到服务器效果“,浏览器录制外部音频调用麦克风并传到后端,兼容全部浏览器、支持 PC 网页或手机 H5 网页、可本地播放试听(详细示例运行代码)

vue,nuxt,uniapp,网页网站,麦克风,网页录音,MediaRecorder,浏览器录音,移动端h5网页,手机端录音,web网页录音,recorder-core官方文档,Recorder,非https怎么本地录音,录音报错失败,录音后怎么播放音频,如何获取录音mp3文件,解决一直不提示麦克风权限,小白详细教程,实时录音,调用浏览器麦克风录音,浏览器不兼容,wav,mp3,vue怎么实现网页录音呢,vue2网页录音并上传到服务器,web如何实现录制音频,vue网页录音,音频录制播放和上传服务器,vu

🏆 前端领域优质创作者 6005

2026年国赛C题微网与外部电网电力调控策略 (三):问题三、问题四滚动预测、实时电价与结果核验

专栏内定期更新ABCDE五题详细思路、代码(含运行结果图)和讲解视频-(11号之前半价):问题三看起来只是多给了一个光伏预报附件,实质上它改变了整道题的信息结构:问题四则是在问题二、问题三之上替换价格来源。问题4-2相当于“确定性计划+实时电价”,问题4-3相当于“滚动预测+实时电价”。物理模型完全不变,改变的是价格序列和费用口径。本文先给出核心结果:从结果看,问题3比问题2多约164.21万元,问题4-3比问题4-2多约168.79万元。主要增量不是“储能没有工作”,而是预测误差、计划偏差和紧急购电造成的

YOLO 345

Springboot开发时,对前端的请求参数,后端用于接受的实体类有没有必要校验为null?

对前端的请求参数封装的的实体类有没有必要校验为null?

weixin_57137447的博客 862

PCL Trimmed ICP实现点云精配准【2025最新版】

博客长期更新,本文最新更新时间为:2025年6月25日。抄袭狗记得来抄最新代码哦,抄都抄成错的,不够丢人钱。

点云侠的博客 37万+

前端做校验后服务器端是否还要做校验

看一段很简单的代码:     login.html   &lt;html&gt; &lt;head&gt; &lt;title&gt;Test&lt;/title&gt; &lt;script type="text/javascript" src="jquery-1.3.1.js"&gt;&lt;/script&gt; &

u010090557的博客 491

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

8.Spring服务器端数据校验(JSR-303)

数据校验:①客户端校验、②服务器端校验 在Spring MVC 框架中有两种方法可以验证输入数据,一种是利用Spring自带的验证框架,另一种是利用JSR 303实现验证,推荐使用JSR 303验证。 1.前端校验要做,目的是为了提高用户体验 2.后端校验也要做,目的是为了数据安全

相互学习 共同进步 711

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SpringMvc服务器端数据校验

SpringMvc服务器端数据校验 1.为什么需要服务端校验? 最早的校验,就是服务端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应。有了JavaScript,校验工作可以放在前端去执行。那么为什么还需要服务端校验呢? 因为前端传来的数据不可信。前端很容易获取都后端的数据接口,如果有人绕过页面,就会出现非法数据,所以服务端也要...

Pan_BY的博客 358

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

前端校验

前端校验前端校验地位各校验方式的比较 对所有字段做服务器端批量验证,即便Java Script失效,服务器验证可作为最后的防线。 只要有可能,就对字段做客户端验证,确保最迅速的响应

到西伯利亚浪 743

SpringMVC框架10——服务器端校验

服务端校验:检查客户端所提交的数据是否符合规范 最早的校验,就是服务器端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应,有了JavaScript,校验工作可以放在前端去执行。那么为什么还需要服务端校验呢?因为前端传来的数据不可信。前端很容易获取到后端的接口数据,如果有人绕过页面,就会出现非法数据,所以服务端也需要数据校验,总的...

weixin_44868863的博客 1178

文件上传漏洞:前端校验为何形同虚设及服务器端防御实战

文件上传是Web应用的核心功能,也是常见的安全风险点。其原理在于客户端与服务器端通过HTTP协议进行数据交换,而客户端环境(如浏览器)完全由用户控制。从技术价值看,仅依赖前端校验(如JavaScript文件类型检查)存在根本缺陷,因为攻击者可以轻易拦截并篡改HTTP请求,绕过所有前端防护。这种漏洞常出现在对客户端输入过度信任的应用场景中,直接导致恶意文件(如Webshell)上传风险。本文聚焦文件上传漏洞的前端绕过手法,深入剖析攻击者如何利用代理工具修改请求包、伪造Content-Type等热词技术,并系统

487

Spring-【服务器端校验】

文章目录为什么需要服务端校验?案例相关jar包Book.javabook.jspHelloControllerValidateMessages.propertiesspringmvc.xmlweb.xml校验规则分组校验定义分组使用分组 为什么需要服务端校验? 最早的校验,就是服务端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响...

慕北丶 526

SpringMVC教程4-服务器端校验

SpringMVC实现服务器端数据校验功能 最早的校验,就是服务端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应。有了JavaScript,校验工作可以放在前端去执行。那么为什么还需要服务端校验呢? 因为前端传来的数据不可信。前端很容易获取都后端的数据接口,如果有人绕过页面,就会出现非法数据,所以服务端也要数据校验,总的来说...

波波烤鸭的博客 3810

为什么前端做了校验 服务器端还需要做

1.引用网友 baiyi:       前端做是为了友好的用户体验,你服务端是为了安全啊! 2.引用网友 Immortal:       我只知道当初入行写服务端       一直有句话经常看到      服务端应该对所有客户端的数据是不信任的 3. 引用网友 Troevil:       做后台需要有觉悟,前台的一切都是不可信的 4.引用 mark_luo:   给我一个url, ...

Mark_Luo123的博客 1794

SpringMVC___服务器端校验(普通校验和分组校验)

最早的校验,就是服务端校验。早期的网站,用户输入一个邮箱地址,校验邮箱地址需要将地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应。有了JavaScript,校验工作可以放在前端去执行。那么为什么还需要服务端校验呢? 因为前端传来的数据不可信。前端很容易获取都后端的数据接口,如果有人绕过页面,就会出现非法数据,所以服务端也要数据校验,总的来说: 1.前端校验要做,目的是为了提高用户体验 ...

qq_37432174的博客 253

使用JSR303完成服务器端的数据校验

实际工作中,得到数据后的第一步就是校验数据的正确性,如果存在录入上的问题,一般通过注解校验,发现错误后返还给用户,但对于一些逻辑上的错误,很难使用注解方式验证,现在我们要使用的是JSR303完成服务器端的数据校验。 JSR303不需要去编写校验器,它定义了一套可标注在成员变量,属性方法上的校验注解 约束 说明 @Null 被注解的元素必须为Null @NotNull 被注解的元...

weixin_43942512的博客 268
上一篇: 线程共享实例变量
下一篇: MySQL for Java的SQL注入测试
yklovejava
博客等级 码龄14年 0粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值