/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注入的基本原理了吗?
推荐阅读
-
古镇|距成都40公里的古镇:一道街上三寺庙,庙内榕树还包裹着一小寺庙
-
-
-
【体坛焦点】巴萨或标价5000万欧,谁来和皮克搭档?,多家球队有意乌姆蒂蒂
-
[中医内科王燕医师]长期宅家,当心宅出脂肪肝,脂肪肝的危害有哪些?
-
在家里需要提防自己的爸爸偷吃自己的零食是怎么样的一种体验
-
太平洋又出新品!2020大公司终身重疾横向测评,哪款值得买?
-
-
#搜狐新闻#创意科技互动装置|克林顿都来站台,这届CES三星又带来什么样的“黑科技”
-
投影仪|6万块6个月6台投影仪 坚果/极米/当贝/峰米/小米/爱普生谁最值得买?
-
风平浪静|男版杨超越,康巴汉子丁真爆红网络却一夜被吐槽
-
体育圈圈圈|官方最新数据:裁判违体吹罚高达84次!创联盟历史之最惊动姚明
-
海外网|科索沃总理新冠病毒检测呈阳性 将自我隔离两周
-
影帝|宁送外卖也不接烂片的影帝,潜心三年打磨,这样的电影不应被埋没
-
蒜头聊科学地球不断联系外星生命,为何外星生命不联系地球?
-
新车 |最低油耗1.4升,奥迪Q3插电混动版发布,或明年上市
-
绘画|虫子哥张骞,靠画虫子绘画作品谋生,在西安买房娶媳妇
-
生肖|10月,3生肖漂洋过海,与你同在,姻缘重启,至死不离,余生温柔以待
-
-