/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注入的基本原理了吗?
推荐阅读
-
-
-
-
十足|黑色皮衣搭配牛仔裤, 择合适的裤子和鞋子, 帅气十足
-
-
-
新全方位武器|普京下令立马出兵,阿塞拜疆又捅下大篓子!俄军机被导弹炸成碎片
-
-
减肥@235斤的胖子,每天高强度锻炼,狂减77斤,如获新生!
-
啤酒瓶|90年代一个啤酒瓶能换5毛钱,如今却“分文不值”,到底啥原因?
-
大电竞|vs TL前瞻:SN对决TL志在首胜,S10小组赛SN
-
-
肆客足球|哲科将加盟尤文,尤文跟队记者:苏亚雷斯通过考试
-
老年小妙招|上海发现一户人家的阳台,面积仅3㎡,颜值超高,收纳满分!
-
国际连连看|拯救生命,为世界树立榜样,希拉里:若我是总统做得会比特朗普好
-
「昕然说娱乐」裙式泳衣,分体泳衣,比基尼大盘点,范德安女士泳衣:连体泳衣
-
「中国青年报」没有谁能代表一代人,但《零零后》真的来了!
-
青年|洛克王国:最值得收藏的5种技能石,最后一种拥有的人不到1%
-
幽默搞笑段子集锦@她就趁机问俺跟前任分手的话题,幽默笑话:跟女友整了两杯
-
里程|中国高速路首尾相连可绕地球近4圈:总里程达16万公里