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 相关文章推荐
借用Google的Javascript API Loader来加速你的网站
Jan 28 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
Jun 29 Javascript
通过JS获取用户本地图片路径并显示的代码
Feb 16 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
Jun 21 Javascript
微信小程序实战之运维小项目
Jan 17 Javascript
jQuery表单元素选择器代码实例
Feb 06 Javascript
使用JavaScript中的lodash编写双色球效果
Jun 24 Javascript
vue路由前进后退动画效果的实现代码
Dec 10 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
May 09 Javascript
layui的数据表格+springmvc实现搜索功能的例子
Sep 28 Javascript
微信小程序点击view动态添加样式过程解析
Jan 21 Javascript
js实现浏览器打印功能的示例代码
Jul 15 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
php类常量的使用详解
2013/06/08 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
php生成图片验证码的方法
2016/04/15 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
封装好的省市地区联动控件附下载
2007/08/13 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
python解析基于xml格式的日志文件
2017/02/25 Python
python生成ppt的方法
2018/06/07 Python
Python之csv文件从MySQL数据库导入导出的方法
2018/06/21 Python
详解python中sort排序使用
2019/03/23 Python
Python中请不要再用re.compile了
2019/06/30 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
Expedia丹麦:全球领先的旅游网站
2018/03/18 全球购物
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
2014年优秀党员材料
2014/12/18 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
python实现股票历史数据可视化分析案例
2021/06/10 Python
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python