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 简便实现页面元素数据验证功能
Mar 24 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
Apr 25 Javascript
javascript使用输出语句实现网页特效代码
Aug 06 Javascript
javascript合并表格单元格实例代码
Jan 03 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
Feb 23 Javascript
js实现4个方向滚动的球
Mar 06 Javascript
jQuery实现的中英文切换功能示例
Jan 11 jQuery
ElementUI radio组件选中小改造
Aug 12 Javascript
Vue.js 无限滚动列表性能优化方案
Dec 02 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
Jul 30 Javascript
微信小程序实现星星评分效果
Nov 01 Javascript
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
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中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
php设置编码格式的方法
2013/03/05 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
php实现简单文件下载的方法
2015/01/30 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
Python 闭包的使用方法
2017/09/07 Python
python使用zip将list转为json的方法
2018/12/31 Python
使用Python在Windows下获取USB PID&amp;VID的方法
2019/07/02 Python
如何给Python代码进行加密
2020/01/10 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
python pip如何手动安装二进制包
2020/09/30 Python
Django数据统计功能count()的使用
2020/11/30 Python
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
《学棋》教后反思
2014/04/14 职场文书
行政监察建议书
2014/05/19 职场文书
升职演讲稿范文
2014/05/23 职场文书
大学生个人求职信
2014/06/02 职场文书
讲党性心得体会
2014/09/03 职场文书
升学宴学生答谢词
2015/01/05 职场文书
护士求职简历自我评价
2015/03/10 职场文书
百年孤独读书笔记
2015/06/29 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
pytorch中的 .view()函数的用法介绍
2022/03/17 Python