`
加菲学Java
  • 浏览: 132575 次
  • 性别: Icon_minigender_1
  • 来自: 扬州
社区版块
存档分类
最新评论

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

    博客分类:
  • Web
 
阅读更多

看一段很简单的代码:

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


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


 

  • 大小: 5 KB
  • 大小: 4.8 KB
  • 大小: 8.5 KB
  • 大小: 16.8 KB
  • 大小: 1.6 KB
0
1
分享到:
评论
1 楼 cuisuqiang 2012-05-14  
一般来说以前端验证为主,后端验证为辅!
前台验证如果通过,那么后台做的一般都是业务上的判断和验证!

我觉得应该分清轻重,合理分配,不然只讲理论,你的系统还能开发完吗

相关推荐

    ExtJs的服务器端控件实现

    总结来说,"ExtJs的服务器端控件实现"涵盖了前端与后端的紧密协作,包括Ajax通信、JSON数据交换、API设计、数据管理、用户交互以及安全性等多个方面。理解并掌握这些知识点,对于构建高效、功能丰富的ExtJS应用至关...

    服务器端的JSON

    4. **数据操作**: 服务器端会根据业务需求对解析后的JSON数据进行各种操作,如查询、更新数据库,或者与其他系统进行交互。 5. **安全考虑**: JSON在传输过程中可能存在安全风险,如XSS(跨站脚本攻击)或CSRF(跨...

    js校验特殊字符

    同时,它们也可以用在服务器端的验证逻辑中,以进一步确保数据的安全性。 6. **优化与扩展** 当然,你可以根据实际需求扩展这些函数,添加更多的特殊字符到正则表达式中,或者调整校验规则。例如,如果你需要过滤...

    SpringBoot实现前端验证码图片生成和校验

    验证码图片校验是指将用户输入的验证码与服务器端保存的验证码进行比较,以确定用户的输入是否正确。在 SpringBoot 中,我们可以使用 HttpSession 对象来保存验证码,并在服务器端进行校验。 * 使用 HttpSession ...

    javaWEB写到校验器代码

    而后端校验在服务器端进行,它更加严格且不可绕过,是保证数据安全的关键环节。 校验器的实现通常基于一些常见的框架,例如Spring框架中的`Validator`接口。开发者可以自定义校验规则,实现该接口并编写对应的校验...

    页面输入校验

    4. **服务器端校验**:尽管客户端校验可以提高用户体验,但服务器端校验仍然是必要的,因为它能防止不诚实的用户绕过客户端的限制。服务器端校验通常在后台处理,使用各种编程语言(如Java、Python、PHP等)实现。 ...

    登录注册弹出框以及弹出框校验

    通常,密码应以加密形式存储在服务器端,前端的验证仅作为第一道防线,服务器端还需要进行二次校验,以防止恶意攻击。 总的来说,"登录注册弹出框以及弹出框校验"是一个综合性的主题,涉及到用户界面设计、前端开发...

    js.rar_校验

    7. **AJAX 和服务器端验证**:虽然前端校验提高了用户体验,但为了安全性,服务器端验证仍然是必要的。前端校验后,通过 AJAX 发送数据到服务器,服务器再次校验,防止恶意用户绕过前端校验。 8. **库和框架**:...

    MD5加密和JS 校验码MD5加密和JS 校验码

    通过在服务器端生成校验码,并在客户端使用JS进行验证,可以防止恶意篡改数据。例如,服务器返回一个文件的MD5校验码,用户在下载文件后,前端JS可以再次计算文件的MD5并比对,以确保下载的文件与服务器上的文件一致...

    pythonflask开发的会员系统,服务器端校验系统,功能用户管理,增加用户,修改删除用户,限制用户使用时间,客户端.zip

    本篇将深入探讨一个基于Python Flask框架开发的会员系统,以及其服务器端校验系统的设计与实现。 Flask是一个轻量级的Web应用框架,它简洁易用,适合快速开发中小型项目。在这个会员系统中,Flask作为后端处理核心...

    网页中的各种校验大全

    8. **服务器端校验**:尽管前端校验很重要,但为了安全性和一致性,服务器端的验证同样必不可少。后端语言如PHP、Java、Python等都有对正则表达式的支持,可以用于进一步的数据验证。 在提供的`validator.chm`文件...

    Text的输入校验

    在软件开发中,输入校验是指在用户输入数据后,系统进行的一系列检查,以确保数据符合预期的格式和规则。这一步骤可以防止恶意攻击,如SQL注入,同时也能减少因用户误操作导致的错误。 在HTML中,我们通常使用`...

    ajax实现二级下拉框和用户名校验

    4. 服务器端根据请求参数查询数据库,获取对应的二级选项数据,可以是JSON格式。 5. 将服务器返回的数据解析并动态插入到二级下拉框中。 **2. 用户名的实时校验** 在用户注册或登录过程中,实时校验用户名是否可用...

    jquery前端非空验证

    它可以在用户提交表单之前检查所有必需字段是否已填写,提高了用户体验,减少了服务器端的压力,因为无效请求不会到达服务器。 三、jQuery非空验证的基本方法 1. `$.trim()`: 这个函数用于去除字符串两端的空白字符...

    web前端 input添加属性就可以验证 自动验证工具

    综上所述,"web前端 input添加属性就可以验证 自动验证工具" 提供了一种高效、灵活的前端验证解决方案,通过jQuery等JavaScript库,开发者可以快速构建起一套完整的输入验证机制,提升用户体验,同时减轻服务器端的...

    21输入校验的流程.zip

    2. **服务器端校验**:尽管前端校验很重要,但不能完全依赖它,因为用户可以禁用JavaScript或者绕过前端验证。服务器端校验是必需的,Struts2提供了强大的支持。Struts2的Action类可以接收表单参数,并通过注解或XML...

    Spring Boot+Mybatis Plus+Thymeleaf实现用户登录和校验用户名是否重复功能

    在本项目中,我们利用了Spring Boot、Mybatis Plus和Thymeleaf三大技术栈来构建一个用户管理系统,其中包含了用户登录以及校验用户名是否重复的功能。以下将详细阐述这三者之间的配合以及如何实现所述功能。 首先,...

    后台JS校验框架

    在IT领域,后台JS校验框架是用于在服务器端执行JavaScript代码,对用户提交的数据进行验证的一种工具。这种框架通常被开发人员用来提高应用的安全性和用户体验,因为它可以在数据到达数据库之前检测并处理潜在的错误...

    js javaScript 验证校验小工具包

    因此,重要的验证仍需在服务器端进行。这个工具包可能包含了一些安全方面的考虑,如防止XSS(跨站脚本攻击)和CSRF(跨站请求伪造)。 6. **国际化支持**:对于全球化的网站,验证规则可能因地区而异,例如电话号码...

    页面的数据校验JS和HTML

    例如,如果一个表单字段预期接收的是电子邮件地址,那么通过前端校验可以确保用户输入的确实是有效的电子邮件格式,这样可以减少服务器端的负担,并提升用户体验,因为错误将在用户提交表单之前被及时发现并提示。...

Global site tag (gtag.js) - Google Analytics