注入方法:SQL注入防御有哪些方法這三招很有用
【小Y 提醒】文章收集整理于網(wǎng)絡(luò),僅供參考!如需了解“SQL注入防御有哪些方法這三招很有用”等有關(guān)服務(wù)器、云主機(jī)租用、托管、配置、價(jià)格問(wèn)題,請(qǐng)咨詢YINGSOO客服,獲取最新優(yōu)惠!
【熱門(mén)主機(jī)】越南云服務(wù)器促銷 | 韓國(guó)站群服務(wù)器促銷 | 德國(guó)物理服務(wù)器促銷
【原創(chuàng)文章】什么是服務(wù)器系統(tǒng)?有哪些服務(wù)器系統(tǒng)?
SQL注入一種常見(jiàn)的數(shù)據(jù)庫(kù)破解手段,,也是全球互聯(lián)網(wǎng)中最頻繁出現(xiàn)的漏洞問(wèn)題。數(shù)據(jù)的重要性想必不用多說(shuō),由此可見(jiàn)SQL注入的影響有多大,因此做好SQL注入防御很重要,對(duì)此下文就給大家分享幾個(gè)方法。
下面針對(duì)JSP,說(shuō)一下SQL注入防御的應(yīng)對(duì)方法:
1、(簡(jiǎn)單又有效的方法)PreparedStatement
采用預(yù)編譯語(yǔ)句集,它內(nèi)置了處理SQL注入的能力,只要使用它的setXXX方法傳值即可。
使用好處:
(1)代碼的可讀性和可維護(hù)性;
(2)PreparedStatement盡最大可能提高性能;
(3)最重要的一點(diǎn)是極大地提高了安全性。
原理:
sql注入只對(duì)sql語(yǔ)句的準(zhǔn)備(編譯)過(guò)程有破壞作用,而PreparedStatement已經(jīng)準(zhǔn)備好了,執(zhí)行階段只是把輸入串作為數(shù)據(jù)處理,而不再對(duì)sql語(yǔ)句進(jìn)行解析、準(zhǔn)備,因此也就避免了sql注入問(wèn)題。
2、使用正則表達(dá)式過(guò)濾傳入的參數(shù)
要引入的包:
import java.util.regex.*;
正則表達(dá)式:
private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”;
判斷是否匹配:
Pattern.matches(CHECKSQL,targerStr);
下面是具體的正則表達(dá)式:
檢測(cè)SQL meta-characters的正則表達(dá)式 :
/(\%27)|(\’)|(\-\-)|(\%23)|(#)/ix
修正檢測(cè)SQL meta-characters的正則表達(dá)式 :
/((\%3D)|(=))[^\n]*((\%27)|(\’)|(\-\-)|(\%3B)|(:))/i
典型的SQL 注入攻擊的正則表達(dá)式 :
/\w*((\%27)|(\’))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix
檢測(cè)SQL注入,UNION查詢關(guān)鍵字的正則表達(dá)式 :
/((\%27)|(\’))union/ix(\%27)|(\’)
檢測(cè)MS SQL Server SQL注入攻擊的正則表達(dá)式:
/exec(\s|\+)+(s|x)p\w+/ix
等等…..
3、字符串過(guò)濾
比較通用的一個(gè)方法:(||之間的參數(shù)可以根據(jù)自己程序的需要添加)
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;}
凡涉及到執(zhí)行的SQL中有變量時(shí),用JDBC(或者其他數(shù)據(jù)持久層)提供的如:PreparedStatement就可以 ,切記不要用拼接字符串的方法就可以了。
以上就是關(guān)于SQL注入防御的方法的介紹,上述幾種方法有一定的參考價(jià)值,有需要的朋友可以了解看看,希望對(duì)大家做好SQL注入防御有幫助,想要了解更多可以繼續(xù)瀏覽本公司其他相關(guān)的文章。
YINGSOO,國(guó)際數(shù)據(jù)中心綜合服務(wù)提供商,專注高品質(zhì)、企業(yè)級(jí)海外服務(wù)器租用/托管服務(wù),擁有ISP牌照、實(shí)體公司、專業(yè)團(tuán)隊(duì)、9年經(jīng)驗(yàn),7x24x365全天候服務(wù),3天免費(fèi)試用,品質(zhì)保障、值得信賴!全國(guó)統(tǒng)一服務(wù)熱線:400-630-3752
熱搜詞條:【顯示員工】【下圖虛擬目錄】【分頁(yè)函數(shù)】【字段字符】【容器安裝】【數(shù)據(jù)數(shù)據(jù)丟失】【網(wǎng)絡(luò)攻擊】【輸入密碼】【權(quán)限注入】【目錄這就】【容器網(wǎng)卡】【損壞重啟】【方式操作】【小狐貍云服務(wù)器】【服務(wù)器租用】【登錄配置】【建站博客】【安裝輸入法】【空格去除】【建站網(wǎng)站】【打包文件】【讓我?guī)湍?/a>】【代碼查詢】【序列時(shí)間】【數(shù)據(jù)對(duì)象】【安裝配置】【下載地址簡(jiǎn)體中文】【服務(wù)器租用】【變量存儲(chǔ)過(guò)程】【時(shí)間都是】
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信