2009-10-15 17 views
0

我正在研究一個包含用戶控件(.ascx)的Web項目,該控件位於包含.aspx頁面上的中繼器中。用戶控件上有一個DataList,它在後面的代碼中動態綁定。這樣,父頁面/中繼器將數據(List)分配給用戶控件上的屬性,然後該用戶控件將該源分配給DataList的DataSource屬性。這是否會造成XSS漏洞?ASP.NET用戶控件,ObjectDataSources和XSS

在Repeater的的ItemDataBound是線:

<object>.DataSource = ((KeyValuePair<..., ...>)e.Item.DataItem).Value as <objecttype>; 

在的.ascx(DataSource屬性)的代碼隱藏:

MyDataList.DataSource = value; 
MyDataList.DataBind(); 

感謝得多。

回答

1

這實際上取決於您的項目模板以及您如何顯示數據。它來自哪裏,並且正在進行一次ascx控制並不重要。設置DataSource時,我會建議轉義您的ItemDataBound處理程序中的數據。

MSDN上防止XSS在ASP.NET更詳細:How To: Prevent Cross-Site Scripting in ASP.NET

也看到這對AntiXSS庫中的其他SO問題: AntiXSS vs HtmlEncode