動(dòng)易CMS 2007新特性體驗(yàn)之旅——全面提高的安全性(4)_動(dòng)易Cms教程
| 以下是引用片段: 4、注入漏洞攻擊防范: ●使用類型安全的SQL參數(shù)化查詢方式,從根本上解決SQL注入的問(wèn)題 ●對(duì)于不能使用參數(shù)化查詢的部分(比如in、like語(yǔ)句),使用嚴(yán)格的過(guò)濾函數(shù)進(jìn)行過(guò)濾 ●限定URL的傳遞參數(shù)類型、數(shù)量、范圍等來(lái)防止通過(guò)構(gòu)造URL進(jìn)行惡意攻擊 |
在ASP/PHP程序中,查詢語(yǔ)句的生成一般是這樣的代碼方式:
Conn.Execute("SELECT Province FROM PE_Province WHERE Country='" & Country & "' ORDER BY ProvinceID")
這樣的方式,假如一不小心沒有對(duì)要放入SQL查詢語(yǔ)句中的Country變量進(jìn)行防SQL注入過(guò)濾,就有可能產(chǎn)生注入問(wèn)題。這方面的教程實(shí)在太多,大家有愛好可以到網(wǎng)上搜索一下。而由此帶來(lái)的教訓(xùn)則是非常深刻。動(dòng)易之前發(fā)現(xiàn)的一些注入漏洞問(wèn)題,都是因?yàn)槌绦騿T不小心沒有過(guò)濾有關(guān)變量造成的。而縱觀網(wǎng)上許多程序,還有許多地方是根本就沒有將提交過(guò)來(lái)的值進(jìn)行過(guò)濾就放入查詢語(yǔ)句中。如:
Sql = "SELECT Boardid, Boardtype, Boarduser FROM Board WHERE Boardid = " & Request("boardid")
Set Rs = Execute(Sql)
這樣的程序的安全性可想而知。
動(dòng)易CMS2007中,所有的查詢語(yǔ)句都是類似如下代碼:
| 以下是代碼片段: /// <summary> |
在這段程序中,我們至少使用了兩種安全方式。一是用了存儲(chǔ)過(guò)程,通過(guò)將參數(shù)傳遞給存儲(chǔ)過(guò)程,杜絕了注入的可能。二是參數(shù)類型安全化,使用的參數(shù)都是強(qiáng)類型的。如這一行代碼:parms.AddInParameter("@ID", DbType.Int32, authorInfo.Id);。限制了傳過(guò)來(lái)的參數(shù)必須是整型的,假如從頁(yè)面中傳過(guò)來(lái)的參數(shù)不是整型(注入攻擊時(shí)),就會(huì)直接拋出異常,中斷執(zhí)行。動(dòng)易CMS2007的所有查詢語(yǔ)句,都是采用這種方式。這樣基本上就杜絕了SQL注入問(wèn)題。
- MAC錯(cuò)誤的解決方法
- 如何屏蔽動(dòng)易后臺(tái)導(dǎo)航里的某個(gè)功能菜單?
- 動(dòng)易.NET版本留言自動(dòng)選定欄目方法
- 動(dòng)易SiteFactoty整合Discuz!NT3.0
- 在任意位置獲取根節(jié)點(diǎn)ID標(biāo)簽
- 如何開啟SiteWeaver6.8的支持,反對(duì)功能
- Windows 2008安裝動(dòng)易.NET系統(tǒng)之四----動(dòng)易系統(tǒng)安裝篇
- Windows 2008安裝動(dòng)易.NET系統(tǒng)之三----數(shù)據(jù)庫(kù)篇
- Windows 2008安裝動(dòng)易.NET系統(tǒng)之二----IIS、目錄環(huán)境配置篇
- 數(shù)據(jù)庫(kù)修復(fù),SQL Server 2005內(nèi)部操作不一致的處理
- 如何安裝動(dòng)易.net程序權(quán)限配置
- 為什么提示對(duì)Windows系統(tǒng)文件夾下的Temp目錄沒有訪問(wèn)權(quán)限?
動(dòng)易Cms教程教程Rss訂閱Cms教程搜索
動(dòng)易Cms教程推薦
- 解析SiteWeaver 怎樣去掉作者的鏈接
- 完美解決 Microsoft JET Database Engine 錯(cuò)誤
- 關(guān)于提高后臺(tái)操作速度的建議與解決方法
- 升級(jí)到2006sp3后,發(fā)現(xiàn)2006-8-29 18:05:14更新時(shí)間具體到了分,秒,我只希望要年、月、日就可以了,不
- 為何內(nèi)容頁(yè)讀取不到自定義字段內(nèi)容
- 安裝及服務(wù)器安全配置指南
- 文章教程頻道增加"頂"(Digg)功能
- 解析模板調(diào)用標(biāo)簽錯(cuò)誤造成前臺(tái)訪問(wèn)的問(wèn)題
- 如何限制下載頁(yè)窗口的大小
- 欄目列表標(biāo)簽ArticleList_ChildClass顯示多列時(shí)的問(wèn)題
- 相關(guān)鏈接:
- 教程說(shuō)明:
動(dòng)易Cms教程-動(dòng)易CMS 2007新特性體驗(yàn)之旅——全面提高的安全性(4)
。