當前位置:編程學習大全網 - 源碼下載 - 怎樣才能更好的防範SQL攻擊入侵

怎樣才能更好的防範SQL攻擊入侵

1.使用參數化的過濾性語句

要防禦SQL註入,用戶的輸入就絕對不能直接被嵌入到SQL語句中。恰恰相反,用戶的輸入必須進行過濾,或者使用參數化的語句。參數化的語句使用參數而不是將用戶輸入嵌入到語句中。在多數情況中,SQL語句就得以修正。然後,用戶輸入就被限於壹個參數。下面是壹個使用Java和JDBC API例子:

PreparedStatement prep = conn.prepareStatement("SELECT * FROM USERS WHERE PASSWORD=?");

prep.setString(1, pwd);

總體上講,有兩種方法可以保證應用程序不易受到SQL註入的攻擊,壹是使用代碼復查,二是強迫使用參數化語句的。強迫使用參數化的語句意味著嵌入用戶輸入的SQL語句在運行時將被拒絕。不過,目前支持這種特性的並不多。如H2 數據庫引擎就支持。

2.還要避免使用解釋程序,因為這正是黑客們借以執行非法命令的手段。

3.防範SQL註入,還要避免出現壹些詳細的錯誤消息,因為黑客們可以利用這些消息。要使用壹種標準的輸入確認機制來驗證所有的輸入數據的長度、類型、語句、企業規則等。

4.使用專業的漏洞掃描工具。但防禦SQL註入攻擊也是不夠的。攻擊者們目前正在自動搜索攻擊目標並實施攻擊。其技術甚至可以輕易地被應用於其它的Web架構中的漏洞。企業應當投資於壹些專業的漏洞掃描工具,如大名鼎鼎的Acunetix的Web漏洞掃描程序等。壹個完善的漏洞掃描程序不同於網絡掃描程序,它專門查找網站上的SQL註入式漏洞。最新的漏洞掃描程序可以查找最新發現的漏洞。

5.最後壹點,企業要在Web應用程序開發過程的所有階段實施代碼的安全檢查。首先,要在部署Web應用之前實施安全測試,這種措施的意義比以前更大、更深遠。企業還應當在部署之後用漏洞掃描工具和站點監視工具對網站進行測試。

  • 上一篇:贛州龜角尾公園 有什麽故事
  • 下一篇:寫壹個JAVA小程序。
  • copyright 2024編程學習大全網