【问题标题】:ASP.NET User Controls, ObjectDataSources, and XSSASP.NET 用户控件、ObjectDataSources 和 XSS
【发布时间】:2009-10-15 19:48:30
【问题描述】:

我正在开发一个包含用户控件 (.ascx) 的 Web 项目,该用户控件 (.ascx) 位于包含 .aspx 页面的转发器中。用户控件上有一个DataList,它动态绑定在后面的代码中。这样父页面/中继器将数据(列表)分配给用户控件上的属性,然后将该源分配给 DataList 的 DataSource 属性。这会造成 XSS 漏洞吗?

Repeater 的 ItemDataBound 中有一行:

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

在 .ascx(DataSource 属性)的代码隐藏中:

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

非常感谢。

【问题讨论】:

    标签: asp.net xss


    【解决方案1】:

    这实际上取决于您的项目模板以及您如何显示数据。它来自哪里以及它在 ascx 控件中并不重要。我建议在设置 DataSource 时转义 ItemDataBound 处理程序中的数据。

    关于在 ASP.NET 中防止 XSS 的更多详细信息:How To: Prevent Cross-Site Scripting in ASP.NET

    另请参阅有关 AntiXSS 库的其他 SO 问题: AntiXSS vs HtmlEncode

    【讨论】:

      猜你喜欢
      • 2010-09-06
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-28
      • 1970-01-01
      相关资源
      最近更新 更多