/exec(s|+)+(s|x)pw+/ix
等等…..
(3) 字符串过滤
比较通用的一个方法:
(||之间的参数可以根据自己程序的需要添加)
public static boolean sql_inj(String str) { String inj_str = “’|and|exec|insert|select|delete|update| count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,”; String inj_stra[] = split(inj_str,”|”); for (int i=0 ; i < inj_stra.length ; i++ ) { if (str.indexOf(inj_stra[i])>=0) { return true; } } return false; }
(4) jsp中调用该函数检查是否包函非法字符
防止SQL从URL注入:
sql_inj.java代码:
package sql_inj; import java.net.*; import java.io.*; import java.sql.*; import java.text.*; import java.lang.String; public class sql_inj{ public static boolean sql_inj(String str) { String inj_str = “’|and|exec|insert|select|delete|update| count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,”; //这里的东西还可以自己添加 String[] inj_stra=inj_str.split(“|”); for (int i=0 ; i < inj_stra.length ; i++ ) { if (str.indexOf(inj_stra[i])>=0) { return true; } } return false; } }
(5) JSP页面判断代码:
使用JavaScript在客户端进行不安全字符屏蔽
功能介绍:检查是否含有”‘”,””,”/”
参数说明:要检查的字符串
返回值:0:是1:不是
函数名是
function check(a) { return 1; fibdn = new Array (”‘” ,””,”/”); i=fibdn.length; j=a.length; for (ii=0; ii<i; ii++) { for (jj=0; jj<j; jj++) { temp1=a.charAt(jj); temp2=fibdn[ii]; if (tem’; p1==temp2) { return 0; } } } return 1;}
总的说来 , 防范一般的SQL注入只要在代码规范上下点功夫就可以了 。
凡涉及到执行的SQL中有变量时 , 用JDBC(或者其他数据持久层)提供的如:PreparedStatement就可以 , 切记不要用拼接字符串的方法就可以了 。
看完本篇文章 , 小伙伴们明白sql注入的基本原理了吗?
推荐阅读
-
西甲二人转皇马爱巴萨|梅西要为格子服务,西媒分析巴萨新赛季阵容:12年老臣将被牺牲
-
怪物|梦幻西游:多轮抓鬼获得3朵玫瑰花,卖出的价格太可观,新商机?
-
深交所|新股来了!宝明科技:首次公开发行股票将于8月3日在深交所上市
-
-
中国新闻网|浙江“两山”转化观察:人与青山 两不相负
-
发展|圆桌|市场规模成为世界第二大后,中国债券市场该走向何方?
-
明星八卦|因节目组乱剪辑,张娜拉被封杀10年,事情真相到底如何
-
-
-
这一段■湖北沿江高铁新进展 这一段计划建6个火车站
-
程序员:用python画一棵樱花树送女朋友,别说程序员不懂浪漫
-
趣头条allroad对比V60,奥迪和沃尔沃旅行车怎么选?A4
-
雷霆亮剑同时部署美俄防空导弹,叙利亚局势真的危矣,土耳其真实面目曝光
-
高跟鞋|别再用高跟鞋搭配羽绒服了,容易掉档次,今年秋冬流行这4款
-
仲裁|广州浪奇:立根公司提财产保全申请 要求冻结公司6717万财产
-
央视网1名无症状感染者解除隔离观察,黑龙江牡丹江25名境外输入病例临床治愈出院
-
-
-
-
深井|“深井CP”太上头,反套路甜剧《我,喜欢你》是如何炼成的