Re: [討論] 大家對SQL injection的有效防制方法怎 …

看板C_Sharp (C#)作者 (tomex_ou)時間20年前 (2005/04/04 07:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《seagal (待救的小米)》之銘言: : SQL裡面一個表格 要秀出來 編輯 新增 刪除 : datagrid的碼就會寫到瘋掉 因為高客製化的需求,我沒有使用datagrid的edit模式 都是跳到另一頁處理dml部分。 : 我覺得2.0幾乎都不用寫到一行程式碼吧 : 上網查了那些好用的grid控制項 : 最少也都從幾千塊起跳 : 如果一年前有需要用到 還有可能會買 現在還是來等2.0好了 我對期待2.0提供更強的功能。 : 使用者介面為了往後的擴充性 穩定性 : 採用了三層式架構 包括你提到的store procedure : 這些方法的確是在軟體工程要求上 達到一個水準 : 可是等我做到後端的管理者介面時候 : 我就已經懶了 : 管他三層不三層 我以前也是這樣,過年時決定解決這樣的亂象 就好好寫了一個很有結構化的後台管理系統(稱為cms), 定義user的權限、訊息handler、新增/修改/刪除…等權限 我花很多時間思考這系統的架構open性,讓它儘量適用各種網站的基礎 事先撰寫很多DAO(data access object) class來處理前端的事件 雖然有時也是為需求而亂寫,但基本精神沒有違反三層架構 因為每隔一段時間,我會思考某些東西能否包成class作呈現! 儘量把前端的event拉到後面class去做。 : 全部的碼都擠進表現層裡面 反正管理介面變動機會那麼小 而且就一個站長在管 : 很多東西都用VS .NET 2003內附的功能完成 : 例如用他去設定dataset : 設定SQLDataAdaptor 沒事就來fill一下dataset : 也不考慮效能了 基本效能寫作考慮一下就好, 其餘的別想太多,求開發速度吧! 每天都會創造不同的想法哩... : 有人開發過購物車系統嘛? : .NET上面有什麼cp值高 或是免費的套件呢? PHP有一套免費的購物網站,叫做osCommerce 你可以參考它的架構寫.net程式 像我的cms平台也深受vBulletin這套論壇程式的影響 好多db及ui都是學它的精神的! 這些產品都是千捶百鍊的,很棒... : ※ 引述《tomex (tomex_ou)》之銘言: : : 記得買本書先看~ : : 我買書,若看到作者執行sqlcommand沒有避開sql injection : : 我就不會買那本。 : : 答案是使用SqlParameter,如: : : int id = 1; : : cmd.CommandText = "DELETE FROM table WHERE id=@id"; : : cmd.Parameter.Add("@id", id) : : cmd.ExecuteNonQuery(); : : 反推,我學java時也會注意sql injection的問題 : : 它沒強調,但其PreparedStatement能避開,我測過!! : : 學php時,至目前只能用addslashe()一個一個加,蠻原始的。 : : 至於asp,看書說有parameter物件,但不知怎麼用... : : 以上,是我大概學主流web語言的經驗。 -- 貫徹分享精神 我為人人,人人為我 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.183.211
文章代碼(AID): #12K7WwSi (C_Sharp)
文章代碼(AID): #12K7WwSi (C_Sharp)