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 相关文章推荐
javascript中动态加载js文件多种解决办法总结
Nov 15 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
Oct 25 Javascript
node.js爬虫爬取拉勾网职位信息
Mar 14 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
Oct 17 Javascript
javascript将json格式数组下载为excel表格的方法
Dec 22 Javascript
AngularJS与后端php的数据交互方法
Aug 13 Javascript
VUE预渲染及遇到的坑
Sep 03 Javascript
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
JavaScript JMap类定义与使用方法示例
Jan 22 Javascript
React中使用UMEditor的方法示例
Dec 27 Javascript
Vue强制组件重新渲染的方法讨论
Feb 03 Javascript
VsCode里的Vue模板的实现
Aug 12 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实现无限级分类实现代码(递归方法)
2011/01/01 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
详解关于react-redux中的connect用法介绍及原理解析
2017/09/11 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
VUE项目初建和常见问题总结
2019/09/12 Javascript
layui-table表复选框勾选的所有行数据获取的例子
2019/09/13 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
讲解Python中运算符使用时的优先级
2015/05/14 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
python实现数据图表
2017/07/29 Python
python编写计算器功能
2019/10/25 Python
Python定义一个Actor任务
2020/07/29 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
新大陆软件面试题
2016/11/24 面试题
公司庆典活动邀请函
2014/01/09 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
遗失说明具结保证书
2015/02/26 职场文书
青年教师听课心得体会
2016/01/15 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书