java 后台对前台的表单做非空验证,有必要吗

问题描述

如果前台已经使用了JS做了非空等相关的验证操作,那么后台还有必要再去做一次验证吗?如果有必要,为什么呢?

解决方案

前台的验证只是为了满足界面的友好性、客户体验性等等。但是js本身不是安全的,同时浏览器可以禁用js,所以后台的校验还是必须的;特别是应用如果不允许输入空值的情况下。
解决方案二:
绝对有必要,想想如果用户禁用了JS或才用后台请求你就清楚了by 领悟书生
解决方案三:
考虑一种情况,传给后台的数据不是从界面上传过去的,而是别人使用例如AJAX拼好后传过去的呢?
解决方案四:

解决方案五:
不是必不必要的问题。应该说是绝对要的!前台校验只是加强了填写体验。如果后台不单要校验数据,而且还要格式化数据。比如根据你数据库字段或程序的限制来格式化。如果不进行校验与格式化,别人可能进行跨站攻击等操作。
解决方案六:
不是要不要的问题,是你怕麻烦的心,所有的人都说要。当常识拿来讨论时问题就不是问题本身了。静下心做事,把事情从最坏设想地方开始,加上防御代码。
解决方案七:
这个还是灰常灰常之有必要的。因为JS本身验证不安全,如果有意为之,那么有很多方法可以完全可以绕过你的JS验证。如果你开发的是商业应用,那么稳定性和安全性是相当重要的,而这里就存在有很严重的安全漏洞了。
解决方案八:
前台的JS验证是完全可以绕过的!一旦绕过,后台进行model时,会出一大堆你不愿意看到的NPE异常。
解决方案九:
有必要。 虽然大家常见的场景是 浏览器 ---- 服务器,在这个场景下,服务器做数据验证确实意义不大。 然而,实际上一个系统并非这个场景,在浏览器到服务器之间,是通过网络传输是实现数据交付,真实的场景是 浏览器 ---- http(https)协议----服务器,在这个场景中浏览器不是必须的,因为,用户可以自己构建http协议数据用于网络传输。当用户自己构建http数据与服务器交付时,所谓的前台验证就毫无意义.
解决方案十:
当然有必要了,前天的js别人是可以随心所欲的改的;而且如果用户禁用了js,你的前台验证就不起作用了!
解决方案十一:
单独的谈有没有必要我认为i额没有意义,这主要在你程序或者产品所对应客户,以及你对程序的质量要求而言.
解决方案十二:
直接写个程序就可以post提交表单,你说为什么要后台验证呢?
解决方案十三:
这个要看情况,不重要的业务对象处理,可以仅在页面提供JS检查即可;比较重要的还是双保险的,毕竟后台又做一次检查是双刃剑的,安全保证的,效率丧失了。对于那些无聊的用户,失败了个人觉得没必要理他们,因为他们可能是开发者,也有可能是黑客。
解决方案十四:
浏览器上有一种东西叫做“开发人员工具”(或者网页调试工具,比如fireBug),可以随心所欲地修改网页上的字段值,更可以修改或禁用Javascript脚本还有一种东西叫做“模拟提交”,比如用VB、VC写得自动注册用户等工具。
解决方案十五:
非常有必要一般安全的做法是前台和后台都做验证,因为你的前台验证并不一定在每个客户端都会执行,比如某个客户端把IE的安全等级调到最高(或者禁用了js),那么所有JS实现的效果都会失效,那这时的前台验证就形同虚设,这时后台的验证也就显得很重要了
其他方案:
非常有必要,前台验证这个可以跳过,例如:我把一个包含了前台验证的页面,另存为html把form的js验证函数删了。提交数据。如果后台没有设置什么后台验证。那么悲剧发生了。。505错误。。。这个一定要的。

时间: 2024-09-18 03:21:46

java 后台对前台的表单做非空验证,有必要吗的相关文章

easyui-easyUI先提交form表单做条件查询返回的结果加载到datagrid中,应该怎么做?

问题描述 easyUI先提交form表单做条件查询返回的结果加载到datagrid中,应该怎么做? 我是这么写的,但是这样form表单提交不到后台去,不知道怎么做 $('#tt').datagrid({ pageNumber : curr url : $('#bas').val() + '/showUser.action' onLoadSuccess : function() { } onLoadError : function() { $('#tt').datagrid('appendRow'

enctype="multipart/form-data"后台取不到表单里的值

问题描述 后台取不到表单里的值 问题补充:用的是commons-fileupload组件,想用hibernate进行存储,有知道思路的帮忙看看!新手请教 解决方案 // // //1 创建解析工厂// DiskFileItemFactory factory = new DiskFileItemFactory();// //2 获取一个解析器// ServletFileUpload upload = new ServletFileUpload(factory);// //3 对请求对象进行解析//

JAVA防止重复提交Web表单的方法_java

本文实例讲述了JAVA防止重复提交Web表单的方法.分享给大家供大家参考,具体如下: package cn.com.form; import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Random; import javax.servlet.ServletException; import java

在表单提交前进行验证的几种方式整理

为了减轻后台压力,可以利用JavaScript在表单提交前对表单数据进行验证,本文整理了常用的几种方式,有需求的朋友可以参考下   在表单提交前进行验证的几种方式 . 在Django中,为了减轻后台压力,可以利用JavaScript在表单提交前对表单数据进行验证.下面提供了有效的几种方式(每个.html文件为一种方式). formpage1.html 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//

在表单提交前进行验证的几种方式整理_javascript技巧

在表单提交前进行验证的几种方式 . 在Django中,为了减轻后台压力,可以利用JavaScript在表单提交前对表单数据进行验证.下面提供了有效的几种方式(每个.html文件为一种方式). formpage1.html 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional

ASP+JS处理复杂表单的生成与验证

asp+|js 这里所谓的复杂表单,是指表单中包含多种不同的输入类型,比如下拉列表框.单行文本.多行文本.数值等.在经常需要更换这类表单的场合,需要有一个表单的动态生成程序.本文介绍的正是这样一个系统,它以数据库保存表单定义数据,利用ASP脚本动态生成表单HTML代码以及验证表单输入的脚本. 一.定义数据库表结构 在Web上经常可以看到"每周调查"之类的表单,这就是一种需要经常更新的表单.如果有一个动态生成表单及其验证脚本的程序,可以大大减少制作这些表单的工作量. 在本文的动态表单生成

ASP中JavaScript处理复杂表单的生成与验证第1/3页_应用技巧

这里所谓的复杂表单,是指表单中包含多种不同的输入类型,比如下拉列表框.单行文本.多行文本.数值等.在经常需要更换这类表单的场合,需要有一个表单的动态生成程序.本文介绍的正是这样一个系统,它以数据库保存表单定义数据,利用ASP脚本动态生成表单HTML代码以及验证表单输入的脚本. 一.定义数据库表结构 在Web上经常可以看到"每周调查"之类的表单,这就是一种需要经常更新的表单.如果有一个动态生成表单及其验证脚本的程序,可以大大减少制作这些表单的工作量. 在本文的动态表单生成与验证示例中,我

EasyUI中在表单提交之前进行验证_jquery

使用EasyUi我们可以在客户端表单提交之前进行验证,过程如下:只需在onSubmit的时候使用return $("#form1").form('validate')方法即可,EasyUi中form模块中的from('validate')方法会自行对我们指定的表单中required=true等需要验证的的元素进行验证,但有不通过的元素时返回一个false; $("#form1").form({ url: 'login.ashx', onSubmit: functio

Javascript的表单与验证-非空验证_javascript技巧

推荐阅读:Javascript的表单验证长度 Javascript的表单验证-提交表单 Javascript的表单验证-初识正则表达式 Javascript的表单验证-揭开正则表达式的面纱  JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 表单提交前要检查数据的合法性 在要对表单里的数据进行验证的时候,可以利用getElementById()来访问网页上任何一个元素 每个表单域都有一个form对象,可被传给任何验证表单数据的函数 <input id=