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 相关文章推荐
SWFObject Flash js调用类
Jul 08 Javascript
JavaScript中null与undefined分析
Jul 25 Javascript
Ajax搜索结果页面下方的分页按钮的生成
Apr 05 Javascript
jquery插件制作 提示框插件实现代码
Aug 17 Javascript
一款由jquery实现的整屏切换特效
Sep 15 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
Jan 10 Javascript
Bootstrap开关(switch)控件学习笔记分享
May 30 Javascript
Bootstrap在线电子商务网站实战项目5
Oct 14 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
Jul 21 Javascript
vue插件实现v-model功能
Sep 10 Javascript
利用Electron简单撸一个Markdown编辑器的方法
Jun 10 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 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
php笔记之:AOP的应用
2013/04/24 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
vue 1.0 结合animate.css定义动画效果
2018/07/11 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
Python实现的简单dns查询功能示例
2017/05/24 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
2018/06/14 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
编程用JAVA解析XML的方式
2013/07/07 面试题
文员岗位职责
2013/11/09 职场文书
工商管理毕业生推荐信
2013/12/24 职场文书
小学生演讲稿
2014/01/12 职场文书
孝老爱亲模范事迹
2014/01/24 职场文书
优秀求职信范文分享
2014/01/26 职场文书
个人欠条范本
2015/07/03 职场文书
捐款仪式主持词
2015/07/04 职场文书
教师外出学习心得体会
2016/01/18 职场文书
学生会自荐信
2019/05/16 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书