/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注入的基本原理了吗?
推荐阅读
-
敢玩iDareX▲极限行业大咖圆桌论坛畅聊手部极限运动-魔方,敢玩QA「极限无限」|
-
莫怀戚|上游?互动丨头条大赛(第8季)丨往事——忆作家莫怀戚先生 - 耕夫
-
饭圈美男|从不占女星便宜,怎么遇见她就不老实了呢?,邓伦是出了名的绅士
-
-
华为临时协议到期致安卓无法更新?华为:会保持更新,自有应用商店也能进行
-
球星工厂|新世纪以来名帅烧钱榜!穆里尼奥排名榜首,克洛普没进前十
-
怀旧服|怀旧服:猎人T2.5套装有必要拿吗?属性优秀,实战中效果不差
-
[果实]农村带刺的果实,一斤可卖到一百多块钱,农民们却满手是老茧
-
心脑血管|血管堵没堵,摸摸“脚背”能知道?出现这种情况,或是血管堵塞
-
-
魅族17|新颜王!魅族17 Pro月白天青今日开售:白色面板+陶瓷机身
-
-
-
第一财经|阿里巴巴三总部三中心落“沪”,在线新经济加速跑
-
布谷小刘|相亲直播软件开发如何快速分辨一个直播软件的好坏?
-
-
[仰卧撑运动园]女足球队却因为新冠而解散实在令人唏嘘,天海债台高筑有人接手
-
-
变废为宝|“中国版卡戴珊”也太美了,20岁穿旗袍就尽显女人味,太有名媛范
-
「印度」一旦爆发战争,中国士兵不如西方士兵高大威猛,战力有多大影响?