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 相关文章推荐
jQuery获取节点和子节点文本的方法
Jul 22 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 Javascript
JQuery中DOM实现事件移除的方法
Jun 13 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
Jul 06 Javascript
Js实现京东无延迟菜单效果实例(demo)
Jun 02 Javascript
详解vue-cli官方脚手架配置
Jul 20 Javascript
JS构造一个html文本内容成文件流形式发送到后台
Jul 31 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 Javascript
微信小程序保存多张图片的实现方法
Mar 05 Javascript
VUE脚手架的下载和配置步骤详解
Apr 01 Javascript
angular6开发steps步骤条组件
Jul 04 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
Mar 10 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
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
2014/03/27 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
基于jQuery实现的菜单切换效果
2015/10/16 Javascript
javascript实现网站加入收藏功能
2015/12/16 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[38:21]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS LGD-CDEC
2014/05/22 DOTA
Python 加密的实例详解
2017/10/09 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
会计专业自我鉴定范文
2013/12/29 职场文书
微观物理专业自荐信
2014/01/26 职场文书
领导干部保密承诺书
2014/08/30 职场文书
工作散漫检讨书
2014/09/16 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
2014年创卫工作总结
2014/11/24 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
装修安全责任协议书
2016/03/22 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis