Re: [問題] 如何防止SQL注入漏洞程式

看板Web_Design作者 (bbcust)時間9年前 (2015/10/08 11:33), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《wa007123456 (大笨羊)》之銘言: : 大家都知道 SQL注入是駭客web攻擊常見的方法之一 : 如果今天用C#來實作 : 要怎麼防止POST和GET有惡意字元? : 我唯一想到的頭緒是Global.asax : 但是不知如何實作 : 感謝各位先輩 常見的有幾個方法,其實推文大致上都說了 1.LinQ to SQL https://msdn.microsoft.com/zh-tw/library/bb386295(v=vs.110).aspx 看名稱就知道是用LinQ語法來操作SQL 不過簡單的CRUD還ok,如果是相當複雜的操作,就不是太好使用 2.ADO.NET Entity Framework (ADO.NET EF) 這文章相當多,如果對 SQL 不是很擅長的話,是一個很好的方法 透過 Mapping Objects to Data 來操作 DB 另外也有 LinQ to Entity 可以一起使用 對不習慣寫 SQL 的人是很好的一種做法 3.Sql Parameters https://msdn.microsoft.com/en-us/library/system.data.sqlclient. sqlcommand.parameters(v=vs.110).aspx 縮址: https://goo.gl/LuhTLc 透過 parameter 的方式來傳遞參數 值得注意的是 parameter 只能用在條件式的條件 如果要動態的改變查詢的 column 或 table 等是無法用 parameter 來傳遞的 此時可以合併使用第四種方法 4.先在程式中轉換,再組合成 Sql Command Text 簡單來說就是先用程式轉換過一次(if else 或 switch 等等) http://ideone.com/g85kLi 如果你習慣寫SQL的話,3+4是不錯的方法 對 SQL 比較不熟悉的話,使用ADO.NET EF也是很好的一種方法 已經一陣子沒寫C#了,這些是以前我會使用的方法,讓你參考一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.150.144 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1444275186.A.1AE.html

10/08 12:13, , 1F
文章代碼(AID): #1M5UFo6k (Web_Design)
討論串 (同標題文章)
文章代碼(AID): #1M5UFo6k (Web_Design)