ASP.NET實作IHttpModule介面讓網頁執行時,驗證特定文字,防止SQL Injection

最近在MSDN看這很多SQL Injection的相關文章...
小弟就把它記錄在我的Blog裡,以後才不會忘記..
說到SQL Injection,為什麼要防址SQL Injection呢...

最近在MSDN看這很多SQL Injection的相關文章...

小弟就把它記錄在我的Blog裡,以後才不會忘記..

說到SQL Injection,為什麼要防址SQL Injection呢...

可以參考 黃忠成 的文章:LINQ - 對付 SQL Injection 的 "免費補洞策略"

接下來就是要實作IHttpModule介面,並且註冊到HttpModule裡

當網站在執行網頁,用到一些參數傳遞時,會先去驗證參數是否有一些特定文字,像是【--】、【 OR 】、【'】、【1=1】

當參數有那些特定文字時,很可能就會讓網站有安全性上的危險,所以遇到那些文字,就跳至錯誤頁面...

範例是參考  Coding techniques for protecting against Sql injection ,詳細內容請至那篇文章瀏覽

首先在App_Code裡加入一個類別SqlInjection.cs,命名空間為Sample



在Web.Config設定HttpModule

執行結果: