/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注入的基本原理了吗?
推荐阅读
-
牛奶放冰箱可以延长保质期吗 牛奶放冰箱可以延长保质期吗
-
小白在线说Matlab被禁之后,这些电脑软件将不能使用,怎么办?
-
-
迷彩虎|正在全力追赶高超音速导弹研发,美专家:中俄钻了美国的漏洞
-
-
-
怎样理解「心想事成」的现象是对巧合的解释,还是必然结果
-
向未来奋斗的励志小男人一个人流泪,我的痛,我的累,谁能懂,谁会在意,一个人喝醉
-
平安开封、开封网|涉案3000多万元!开封一男子投河轻生竟牵出重案
-
码字先锋|晚年生活过得如何,李孝恭玄武门之变时装疯自保
-
手机天天放在身上会有辐射吗女生 手机天天放在身上会有辐射吗
-
温州房哥|疑因住户装修时敲掉承重墙,温州这栋7层住宅楼成“楼歪歪”……
-
「有料健康驿站」世上真有“鬼剃头”?医生:走进医学,你就不慌了
-
疫苗|中国国药脊灰灭活疫苗通过世卫预认证 纳入联合国采购目录
-
一加手机超越华为和魅族,最保值的国产手机诞生,却因太小众无人赏识
-
-
香港男星转做地盘工人,月入3万每天做9小时,曾与胡定欣交往2年
-
时尚街拍酱搭|足足拉长8cm,美女为了时尚真够拼的,拿块“硅胶”当鞋跟
-
『便秘』便秘很常见,开塞露怎么使用?告诉你正确用法
-