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 相关文章推荐
ASP.NET中基于JQUERY的高性能的TreeView补充
Feb 23 Javascript
使用Plupload实现直接上传附件至七牛云存储
Dec 26 Javascript
js+jquery实现图片裁剪功能
Jan 02 Javascript
js实现上传图片预览的方法
Feb 09 Javascript
js实现简单秒表走动的时钟特效
Mar 25 Javascript
基于AngularJS实现的工资计算器实例
Jun 16 Javascript
全选复选框JavaScript编写小结(附代码)
Aug 16 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
Nov 10 jQuery
webpack本地开发环境无法用IP访问的解决方法
Mar 20 Javascript
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 jQuery
element-ui tooltip修改背景颜色和箭头颜色的实现
Dec 16 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/13 PHP
基于php流程控制语句和循环控制语句(讲解)
2017/10/23 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
2017/07/23 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
2019/12/31 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
母亲节演讲稿范文
2014/01/02 职场文书
电大毕业自我鉴定
2014/02/03 职场文书
教师网络培训感言
2014/03/09 职场文书
父母对孩子说的话
2014/04/12 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python