91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么方法能夠有效應對SQL注入攻擊

發布時間:2020-07-31 09:24:08 來源:億速云 閱讀:281 作者:Leah 欄目:互聯網科技

這期內容當中小編將會給大家帶來有關什么方法能夠有效應對SQL注入攻擊,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

能夠有效應對SQL注入攻擊的方法是:PreparedStatement(預編譯語句集)。預編譯語句集內置了處理SQL注入的能力,我們只需要使用它的setxxx方法傳值即可。

1、(簡單又有效的方法)PreparedStatement

采用預編譯語句集,它內置了處理SQL注入的能力,只要使用它的setXXX方法傳值即可。

使用好處:

(1)代碼的可讀性和可維護性.

(2)PreparedStatement盡最大可能提高性能.

(3)最重要的一點是極大地提高了安全性.

原理:

sql注入只對sql語句的準備(編譯)過程有破壞作用,而PreparedStatement已經準備好了,執行階段只是把輸入串作為數據處理,而不再對sql語句進行解析、準備,因此也就避免了sql注入問題。

2、使用正則表達式過濾傳入的參數

要引入的包:

import java.util.regex.*;

正則表達式:

private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”;

判斷是否匹配:

Pattern.matches(CHECKSQL,targerStr);

下面是具體的正則表達式:

檢測SQL meta-characters的正則表達式 : /(\%27)|(\')|(\-\-)|(\%23)|(#)/ix

修正檢測SQL meta-characters的正則表達式 : /((\%3D)|(=))[^\n]*((\%27)|(\')|(\-\-)|(\%3B)|(:))/i

典型的SQL 注入攻擊的正則表達式 : /\w*((\%27)|(\'))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix

檢測SQL注入,UNION查詢關鍵字的正則表達式 : /((\%27)|(\'))union/ix(\%27)|(\')

檢測MS SQL Server SQL注入攻擊的正則表達式: /exec(\s|\+)+(s|x)p\w+/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;
}
}

上述就是小編為大家分享的什么方法能夠有效應對SQL注入攻擊了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

额尔古纳市| 自贡市| 临湘市| 桦甸市| 鹤岗市| 高淳县| 五大连池市| 包头市| 满洲里市| 陇西县| 水城县| 临泉县| 乐东| 哈尔滨市| 达州市| 长岛县| 玛沁县| 固始县| 张家口市| 古丈县| 垣曲县| 元谋县| 财经| 麻阳| 武平县| 叙永县| 新安县| 南部县| 来凤县| 新野县| 西丰县| 长子县| 哈巴河县| 合阳县| 华亭县| 田阳县| 微山县| 克拉玛依市| 岗巴县| 当涂县| 安龙县|