防止SQL注入式攻擊

2021-06-25 12:13:43 字數 1029 閱讀 5470

防止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的...