這篇文章將為大家詳細(xì)講解有關(guān)sql關(guān)鍵詞腳本如何檢查正則表達(dá)式,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)石家莊免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
sql拼裝過程中有時候需要把特殊外部的參數(shù)拼裝到sql語句中去,若不檢測外部傳入的參數(shù)是否含有sql關(guān)鍵詞,黑客利用系統(tǒng)這個漏洞注入sql腳本語句進(jìn)行數(shù)據(jù)庫刪除或盜取數(shù)據(jù)資料。
sql關(guān)鍵詞腳本檢查正則表達(dá)式
\b(and|exec|insert|select|drop|grant|alter|delete|update|count|chr|mid|master|truncate|char|declare|or)\b|(\*|;|\+|'|%)
Java語言
/** * 是否含有sql注入,返回true表示含有 * @param obj * @return */ public static boolean containsSqlInjection(Object obj){ Pattern pattern= Pattern.compile("\\b(and|exec|insert|select|drop|grant|alter|delete|update|count|chr|mid|master|truncate|char|declare|or)\\b|(\\*|;|\\+|'|%)"); Matcher matcher=pattern.matcher(obj.toString()); return matcher.find(); }
單元測試
@Test public void testContainsSqlInjection(){ boolean b1=SqlUtils.containsSqlInjection("and nm=1"); assertEquals("b1不為true",true,b1); boolean b2=SqlUtils.containsSqlInjection("niamsh delete from "); assertEquals("b2不為true",true,b2); boolean b3=SqlUtils.containsSqlInjection("stand"); assertEquals("b3不為false",false,b3); boolean b4=SqlUtils.containsSqlInjection("and"); assertEquals("b4不為true",true,b4); boolean b5=SqlUtils.containsSqlInjection("niasdm%asjdj"); assertEquals("b5不為true",true,b5); }
關(guān)于“sql關(guān)鍵詞腳本如何檢查正則表達(dá)式”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
分享題目:sql關(guān)鍵詞腳本如何檢查正則表達(dá)式
文章來源:http://chinadenli.net/article46/joehhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、網(wǎng)站營銷、電子商務(wù)、網(wǎng)站導(dǎo)航、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)