日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

動(dòng)易CMS 2007新特性體驗(yàn)之旅——全面提高的安全性(4)_動(dòng)易Cms教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

以下是引用片段:
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>
/// 更新作者
/// </summary>
/// <param name="authorInfo">作者實(shí)體</param>
/// <returns>更新成功返回true,否則返回false</returns>
public bool Update(AuthorInfo authorInfo)
{
Parameters parms = new Parameters();
parms.AddInParameter("@ID", DbType.Int32, authorInfo.Id);
parms.AddInParameter("@UserId", DbType.Int32, authorInfo.UserId);
parms.AddInParameter("@Name", DbType.String, authorInfo.Name);
parms.AddInParameter("@Type", DbType.String, authorInfo.Type);
………………
return DBHelper.ExecuteProc("PE_Accessories_Author_Update", parms);
}

注:這里的代碼與實(shí)際程序有所區(qū)別。

  在這段程序中,我們至少使用了兩種安全方式。一是用了存儲(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)題。

查看更多 動(dòng)易Cms教程  動(dòng)易Cms模板

來(lái)源:模板無(wú)憂//所屬分類:動(dòng)易Cms教程/更新時(shí)間:2007-08-20
相關(guān)動(dòng)易Cms教程