防止sql注入式攻擊
sql注入式攻擊是指利用設計上的漏洞攻擊系統。如果動態生成sql語句時沒有對使用者輸入的資料
進行過濾,便會使sql注入式攻擊得逞。
例如用下面的sql語句判斷使用者名稱和密碼:
txtsql="select * from user_info where userid='"&txtuserid &"' and_
password='" & txtpassword.text & "'"
則通過sql注入式攻擊,在「密碼」文字框中輸入1'or '1'='1,非法使用者便可在
沒有密碼的情況下輕鬆登入系統,因為sql語句已經變為:
txtsql="select * from user_info where userid='"&txtuserid &"' and_
password='" &_1'or '1'='1 & "'"
要防範sql注入式攻擊,應該注意一下幾點;
1,檢查輸入的sql語句的內容,如果包含敏感字元,則刪除敏感字元,敏感字元
包含【',>,<=,!,_,+,*,/,(),|和空格】
2,不要在使用者輸入過程中構造where子句,應該利用引數來使用儲存過程。
下面舉例來防範sql注入式攻擊:
function inputstring(mystr) as string
mystr=trim(mystr)
mystr=replace(mystr,"'","'")
mystr=replace(mystr,";--","")
mystr=replace(mystr,"=","")
mystr=replace(mystr,"or","")
mystr=replace(mystr,"and","")
end function
txtsql="select * from user_info where userid='" & txtuserid & "' and_
password='" & inputstring(txtpassword.text) & "'"
如何防止SQL注入式攻擊?
所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。通過一下的例子更形象的了解sql注入 有乙個login畫面,在這個login畫面上有兩個文字框分別用來輸入使用者名稱和密碼,當使用者點了登入按鈕的時候,會對輸入的使用者...
六招防止SQL注入式攻擊
sql注入是目前比較常見的針對資料庫的一種攻擊方式。在這種攻擊方式中,攻擊者會將一些惡意 插入到字串中。然後會通過各種手段將該字串傳遞到sqlserver資料庫的例項中進行分析和執行。只要這個惡意 符合sql語句的規則,則在 編譯與執行的時候,就不會被系統所發現。由此可見sql注入式攻擊的危害是很大...
PHP如何防止SQL注入式攻擊
由於程式開發人員對程式中的一些資料型別沒有經過檢查 向 mysql 提交正確的資料型別以及特殊資料的轉義,導致程式容易受sql注入式攻擊。就此,php對此已提供了安全的設定及內建函式來防止此問題的發生。以下就個人在開發應用中寫點.1 magic quotes runtime設定 當它開啟時,php的...