jquery过滤特殊字符',防sql注入的实现方法_jquery

今天写的代码给项目经理看了下,因为之前没有考虑sql注入的问题,然后在他测试我的code的时候,打了一个“'”,然后我的程序就挂了!

于是乎,我在网上找到了一个验证并过滤文本框的jquery!

先上图:

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注入的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索sql注入 过滤特殊字符、jquery过滤特殊字符、jquery过滤特殊字符串、sql注入字符串过滤、sql注入非法字符过滤,以便于您获取更多的相关知识。

时间: 2024-08-02 01:11:01

jquery过滤特殊字符',防sql注入的实现方法_jquery的相关文章

php 过滤特殊字符及sql防注入代码

php 过滤特殊字符及sql防注入代码 <?php //方法一 //过滤',",sql语名 addslashes(); //方法二,去除所有html标签 strip_tags(); //方法三过滤可能产生代码 function php_sava($str) {     $farr = array(         "/s+/",                                                                        

php mysql_real_escape_string防sql注入详解

mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符.下列字符受影响:  代码如下 复制代码 x00 n r ' " x1a 如果成功,则该函数返回被转义的字符串.如果失败,则返回 false. 易利用下面的这个函数,就可以有效过滤了.  代码如下 复制代码 function safe($s){ //安全过滤函数 if(get_magic_quotes_gpc()){ $s=stripslashes($s); } $s=mysql_real_es

实践有效的网站防SQL注入方法(二)

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 姊妹篇"<实践有效的网站防SQL注入(一)>"跟大家交流了防止sql注入的黄金方法,从开发入手,在两个层次解决,我想如果大家按照介绍的步骤都能够做到,我想大家应该能够做到很好的防御效果.但我们说,没有100%的安全,网站的微小功能变动或升级都可能会对全局造成影响,这也就是为什么eesafe网站安全联盟收录的网站

防SQL注入:生成参数化的通用分页查询语句

前些时间看了玉开兄的"如此高效通用的分页存储过程是带有sql注入漏洞的"这篇文章,才突然想起 某个项目也是使用了累似的通用分页存储过程.使用这种通用的存储过程进行分页查询,想要防SQL注入 ,只能对输入的参数进行过滤,例如将一个单引号"'"转换成两个单引号"''",但这种做法是不安全 的,厉害的黑客可以通过编码的方式绕过单引号的过滤,要想有效防SQL注入,只有参数化查询才是最终 的解决方案.但问题就出在这种通用分页存储过程是在存储过程内部进行SQ

discuz防SQL注入程序代码

discuz 是一套通用的 PHP 社区论坛软件系统,在国内占有大量的用户群体,是做论坛的首选系统,在很早的时候就用 discuz 做论坛系统,感触最深的应该就是论坛的安全问题了,以前使用的时候,经常会有大量的信息进行注入,真是防不胜防. 好在 discuz 系统的更新很迅速,每一次的安全问题很快就得到了更新,而最头疼的问题恐怕就是 sql 的注入了,其实不只 discuz 系统,互联网上进行网络攻击的 SQL 注入是很可怕的,虽然 discuz 系统现有的安全问题已经非常完善了,但因为系统功能

java 过滤器filter防sql注入的实现代码_java

实例如下: XSSFilter.java public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse, FilterChain filterchain) throws IOException, ServletException { //flag = true 只做URL验证; flag = false 做所有字段的验证; boolean flag = true; if(flag){ //只

php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击

php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击 php防止SQL注入攻击一般有三种方法: 使用mysql_real_escape_string函数 使用addslashes函数 使用mysql bind_param() 本文章向大家详细介绍这三个方法在防止SQL注入攻击中的效果及区别. mysql_real_escape_string防sql注入攻击 mysql_real_escape_string() 函数转义 SQL 语句中

实践有效的网站防SQL注入方法(一)

中介交易 SEO诊断 淘宝客 云主机 技术大厅 几年前,网站中大多数都存在sql注入.sql注入在这几年可以说已经被广大网站管理者所认知,并在搭建网站的时候都能注意到网站防注入这一问题,但为什么我们EeSafe现在收录的网站中,还是有很大一部分存在sql注入问题?我想并不是由于网站站长不知道sql注入的危害(危害我这里就不说了,大家可以去百度等搜索引擎上查找),而是由于网站对于像sql注入这样的问题的防范和发掘不够深造成的,这里我把防范sql的黄金方法和大家交流一下,应该能够在网站防止安全漏洞的

EasyASP v2.2新功能介绍(1):Easp是如何实现防sql注入的

EasyASP终于到v2.2了,目前还在完善手册,群里有很多人问如何使用的问题 ,所以打算在写手册的同时写一些新功能的介绍,方便使用Easp 的童鞋们快速 进入状态.说实话,看到这么多人还在写ASP.还在支持Easp,觉得蛮难得的, 所以也一直没有丢下Easp的开发,还是希望Easp能给最后的ASPer们一点微薄的 帮助. EasyASP v2.2的改动比较大,放弃了不少原来我觉得不好用的方法,当然, 更多的是加入了不少我觉得会用得很哈屁的新功能.这是这个系列的第一篇文章 ,准备讲讲EasyAS