/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注入的基本原理了吗?
推荐阅读
-
防抖手机云台时代终结?vivo X50 Pro视频防抖测试
-
-
-
逗儿妈妈|母亲无奈求医,医生:恕我无能为力,8岁儿子整天叼着奶嘴不放
-
万丈足球@02年世界杯的黑哨被逮捕却不是因为吹黑哨?套路别人反被套?
-
历史|三星堆博物馆门票预定量暴增:不少游客坐飞机去看古蜀文明
-
|能称得上「定番」的衬衫牌子,哪个男人看了不着迷?
-
「小飞说感情」我妈病重时她不拿钱,我愤怒得想离婚,每个月工资都给老婆
-
『证券资讯』多行业迎利好,24家公司业绩速递,股民:稳了,周末重要公告汇总
-
-
「广州恒大」网红进军体育圈?曝辛巴效仿恒大收购球队,豪言:又花不了多少钱
-
-
教育部|教育部通知:取消学前班,孩子们正高兴时,传来另外一个坏消息
-
今年冬天,独自去北京游玩的妹子,有什么好玩的景点和好吃的?
-
谈婚论嫁,男友家开始说不会一起住突然被我发现要婚后和我们一起住,我该答应吗
-
王者荣耀|露娜全皮肤特效优化,哥特玫瑰升级史诗,钟馗调整走入下水道
-
中金网@美国失业人群的救命稻草:亚马逊额外雇佣7.5万人
-
-
美国|外交部:美国以莫须有借口抓捕中国企业高管 连一个弱女子都不放过
-
晚巷|21岁林妙可跳《无价之姐》甜美可爱,身高是硬伤,仿若小学生