jquery过滤特殊字符',防sql注入的实现方法


Posted in Javascript onAugust 17, 2016

今天写的代码给项目经理看了下,因为之前没有考虑sql注入的问题,jquery过滤特殊字符',防sql注入的实现方法然后在他测试我的code的时候,打了一个“'”,然后我的程序就挂了!

于是乎,我在网上找到了一个验证并过滤文本框的jquery!

先上图:

jquery过滤特殊字符',防sql注入的实现方法

PS:这里用@#测试,因为'太小了,都看不清楚了!

具体的jquery代码:

<script type="text/javascript" language="javascript">
	$(document).ready(function() {
		//返回
		$("#btnBack").click(function() {
			location.href = "${basePath}/user/user_List.jspx?action=peek";
		});
		
		//非空验证
		$("#btnSubmit").click(function(){
			if($("#name").val() == ""){
				alert("姓名必填!");
				$("#name").focus();
				return false;
			}
			
			//js验证 `~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?
			var pattern = new RegExp("[~'!@#$%^&*()-+_=:]");
			if($("#name").val() != "" && $("#name").val() != null){
				if(pattern.test($("#name").val())){
					alert("非法字符!");
					$("#name").attr("value","");
					$("#name").focus();
					return false;
				}
			}
			
			if($("#enterDate").val() == ""){
				alert("入职时间必填!");
				return false;
			}
		});
		
		//是否存在用户名
		var existName = '${action_msg}';
		if(existName != "" && existName != null){
			$("#span_").attr("style","display:block");
			$("#span_").attr("style","color:red");
			$("#span_").html("用户名"+existName+"已经存在!换~~");
		}else{
			$("#span_").attr("style","display:none");
		}
	});
</script>

这是以弹框的形式!

$(document).ready(function(){
		//过滤非法字符
		function stripscript(s){ 
			var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]") 
			var rs = ""; 
			for (var i = 0; i < s.length; i++) { 
				rs = rs+s.substr(i, 1).replace(pattern, ''); 
			} 
		return rs; 
		} 
		
		//批量删除
		$("#btnDel").click(function() {
			if(confirm("确认删除?")){
					var lstInt = new Array();
					var index = 0;
					$("input[name='checkbox']:checked").each(function() {
							lstInt[index] = $(this).attr("value");
							index++;
					});
					if (lstInt.length <= 0) {
						alert("你还没有选择!");
						return;
					}
					if (lstInt != null&& lstInt.length > 0) {
						location.href = '${basePath}/user/delUser.jspx?idLst=' + lstInt;
					}
				}
			});
		

		// 全选
		$("#allCheck").click(function() {
			$("#notAllCheck").attr("checked", "");
			$("input[name='checkbox']").not("input:checked").each(function() {
				$(this).attr("checked", "checked");
			});
		});
		// 全不选
		$("#notAllCheck").click(function() {
			$("#allCheck").attr("checked", "");
			$("input[name='checkbox']:checked").each(function() {
				$(this).attr("checked", "");
			});
		});
		
		//查询
		$("#btnSelect").click(function(){
			if($("#inputName").val() == "" || $("#inputName").val() == "请输入员工姓名!"){
				alert("请输入员工姓名![支持模糊匹配]");
				$("#inputName").focus();
			}else if($("#inputName").val() == "'" ){
				alert("输入非法字符!");
				$("#inputName").focus();
				$("#inputName").attr("value","");
			}else{
				var name = $("#inputName").val();
				location.href="user_List.jspx?inputName="+stripscript(name);
			}
		});
		
		//友情提示
		$("#inputName").blur(function(){
			if($("#inputName").val() == ""){
				$(this).attr("value","请输入员工姓名!");
			}
			$(this).css("color","#D6D6FF");
		});
		
		$("#inputName").focus(function(){
			if($("#inputName").val() == "请输入员工姓名!"){
				$(this).attr("value","");
			}
			$(this).css("color","#6699FF");
		});
		
		var name = '${name}';
		if(name != '' && name != null){
			$("#inputName").attr("value",name);
		}
		
		$("#btnBackIndex").click(function(){
			location.href="user_List.jspx";
		});
	});

这是用空格来替换!

以上这篇jquery过滤特殊字符',防sql注入的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于document.cookie的使用javascript
Apr 11 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
Apr 18 Javascript
Listloading.js移动端上拉下拉刷新组件
Aug 04 Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 Javascript
Vue组件化开发思考
Feb 02 Javascript
详解ES6 Symbol 的用途
Oct 14 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
May 07 Javascript
node静态服务器实现静态读取文件或文件夹
Dec 03 Javascript
详解Vue的组件中data选项为什么必须是函数
Aug 17 Javascript
详解JavaScript的this指向和绑定
Sep 08 Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 #Javascript
在javascript中使用com组件的简单实现方法
Aug 17 #Javascript
模拟javascript中的sort排序(简单实例)
Aug 17 #Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
Aug 17 #Javascript
BOM系列第一篇之定时器setTimeout和setInterval
Aug 17 #Javascript
BOM系列第二篇之定时器requestAnimationFrame
Aug 17 #Javascript
AngularJS 视图详解及示例代码
Aug 17 #Javascript
You might like
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
用session做客户验证时的注意事项
2006/10/09 PHP
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
python搭建简易服务器分析与实现
2012/12/15 Python
深入讲解Python编程中的字符串
2015/10/14 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
戴尔美国官网:Dell
2016/08/31 全球购物
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
业务助理岗位职责
2013/11/18 职场文书
旷课检讨书3000字
2014/02/04 职场文书
四下基层实施方案
2014/03/28 职场文书
超市创业计划书
2014/09/15 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
安装工程师岗位职责
2015/02/13 职场文书
建国大业观后感800字
2015/06/01 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers