更新時間:2019-12-05 16:25:35 來源:動力節點 瀏覽2616次
如何有效預防SQL注入?通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。對于很多網站都有用戶提交表單的端口,提交的數據插入MySQL數據庫中,就有可能發生SQL注入安全問題,那么,如何防止SQL注入呢?
如何有效預防SQL注入?
針對SQL注入安全問題的預防,需時刻認定用戶輸入的數據是不安全的,并對用戶輸入的數據進行過濾處理,對不同的字段進行條件限制,符合條件的可以寫入數據庫,不符合條件的進行數據過濾處理!
防止SQL注入,需要注意以下幾點:
1. 永遠不要信任用戶的輸入。對用戶的輸入進行校驗,可以通過正則表達式,或限制長度;對單引號和 雙"-"進行轉換等。
2. 永遠不要使用動態拼裝sql,可以使用參數化的sql或者直接使用存儲過程進行數據查詢存取。
3. 永遠不要使用管理員權限的數據庫連接,為每個應用使用單獨的權限有限的數據庫連接。
4. 不要把機密信息直接存放,加密或者hash掉密碼和敏感的信息。
5. 應用的異常信息應該給出盡可能少的提示,最好使用自定義的錯誤信息對原始錯誤信息進行包裝。
6. sql注入的檢測方法一般采取輔助軟件或網站平臺來檢測,軟件一般采用sql注入檢測工具jsky,網站平臺就有億思網站安全平臺檢測工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻擊等。
防止SQL注入之轉義特殊輸入字符
在腳本語言中,提供了可以對用戶輸入的數據進行轉義的函數,如PHP的MySQL擴展提供了mysqli_real_escape_string()函數來轉義特殊的輸入字符,從而來防止SQL注入。
if (get_magic_quotes_gpc())
{
$name = stripslashes($name);
}
$name = mysqli_real_escape_string($conn, $name);
mysqli_query($conn, "SELECT * FROM users WHERE name='{$name}'");
以上就是動力節點Java培訓機構小編介紹的“Java基礎教程培訓:如何有效預防SQL注入?”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
視頻相關
全網最新全套Java視頻教程下載:http://www.dabaquan.cn/video.html
Java學習資料下載:http://www.dabaquan.cn/tutorial_java_se/
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習