【问题标题】:Strange results when using AntiXss.HtmlEncode使用 AntiXss.HtmlEncode 时出现奇怪的结果
【发布时间】:2015-01-18 06:34:45
【问题描述】:

我正在尝试将 XSS 攻击限制在某个站点,并且正在使用 AntiXss 库对任何不受信任的字符串进行编码,然后再将其包含在响应中。

AntiXssEncoder.HtmlEncode(_Title, False)

我的数据库值看起来像这样 - If There's a Fire,经过编码后会在屏幕上显示 html 代码。奇怪的是,源代码中还包含带有 amp;#39; 的 html 代码。但浏览器将其显示为文本而不是正确的字符。

我做错了什么?

【问题讨论】:

    标签: .net encoding antixsslibrary


    【解决方案1】:

    问题是因为值被编码了两次

    【讨论】:

      【解决方案2】:

      首先,

      使用WebUtility.HtmlDecode(HTMLEncodedValue);正确解码之前的编码值

      那么, 如果您在某些 HTML 控件中显示值,例如 table data<td></td>,请使用 controlID.innerHtml 而不是 controlID.innerText。

      如果对您没有帮助,请回复更多详细信息。

      【讨论】:

        猜你喜欢
        • 2018-06-27
        • 2019-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多