代码之家  ›  专栏  ›  技术社区  ›  Damian Powell

在ASP.NET 4中是否可以默认启用HTML编码?

  •  2
  • Damian Powell  · 技术社区  · 14 年前

    <%: ... %> ASP.NET 4版 (在web.config中)以便 <%= ... %> 运算符也将HTML编码字符串?

    2 回复  |  直到 14 年前
        1
  •  3
  •   SLaks    14 年前

    如果您这样配置它,您的开发人员将养成使用 <%= ... %> 而不是编码。

    如果他们后来从事一个不同的(正常的)项目,他们最终会忘记编码他们的输出。

    ASP.Net Razor 默认为HTML编码,因为它没有这个问题。
    (没有您可以切换到默认情况下不编码的Razor代码)

        2
  •  2
  •   Steven    14 年前

    <%: 语法。我宁愿用 <%= HttpUtility.HtmlEncode( 因为它更明确。

    function myJavaScriptFunction()
    {
        var message = '<%: Person.LastComment %>';
        alert(message);
    }
    

    它不是save,因为它没有使用正确的编码。以下是安全的:

    function myJavaScriptFunction()
    {
        var message = '<%: AntiXss.JavaScriptEncode(Person.LastComment) %>';
        alert(message);
    }
    

    更加明确。