/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注入的基本原理了吗?
推荐阅读
-
安克|[路演]安克创新董事长:我国为电子产品制造大国 产品供应较为充足
-
刘谦|过去8年的旧事再被翻出,刘谦再回应找力宏事件:当时根本没人相信我说的
-
老怪看盘|A股:“拐点”或在明后两天?为什么这样说?
-
[小米科技]再次打脸?小米还有4G新机要上线,K30+Note8Pro混合体
-
土耳其美女十分不解:这么昂贵的饮品,中国人为啥可以随便白送?
-
陈法蓉|曾是香港一代女神,却被富豪骗财骗色,如今52岁仍单身!
-
华为▲余承东14点突然发文,感谢花粉8年来,对华为不抛弃不放弃!
-
篮球殿堂|难怪福建输得这么难看!,大跌眼镜!自身膨胀+球员内讧
-
健康领路人|这几种低热量的零食大家知道吗?进来了解了解这些食物吧!震惊!
-
大河网|冒充女性专门网上交友 骗了钱就拉黑 这伙人被郑州警方抓了
-
四川农村大叔种的水果,一树能摘100多斤,这挂果率也太高了吧
-
@中国新闻社|大连:已下架封存凯洋海鲜公司涉疫产品
-
【购车小助理】这几台合资车颜值高动力强,有便宜的也有贵的,凭实力圈粉
-
青年|实拍: 老板上班时间发微信红包, 第一名抢红包员工直接被开除
-
漫雨王者迷|不怕“战术泄露”?本人作出回应,或是“烟雾弹”?,月光让AG公开训练
-
发型|半长不短是什么鬼发型?瘦脸时尚美美哒,竟然这么火!
-
美食东方哥|那是因为没有掌握几个技巧,香烧鸡公:很多人觉得烧鸡公太难做了
-
-
【】首批试点公布!我国正式开启国家草原自然公园建设
-