代码之家  ›  专栏  ›  技术社区  ›  Josef Pfleger

Antixss.javascriptencode包装产生单引号的原因有充分的理由吗?

  •  5
  • Josef Pfleger  · 技术社区  · 16 年前

    我一直在使用 Microsoft's AntiXss Library 想知道为什么 JavaScriptEncode 方法将结果用单引号括起来?这种行为似乎不合常规。

    2 回复  |  直到 9 年前
        1
  •  5
  •   Erlend    16 年前

    实际上,新的3.0版本有一个标记javascriptencode(字符串输入,bool flagforquote)。将其设置为false,将生成不带引号的结果。

    http://www.microsoft.com/downloads/details.aspx?familyid=051EE83C-5CCF-48ED-8463-02F56A6BFC09&displaylang=en

        2
  •  1
  •   D. Patrick    16 年前

    可能是为了确保它返回一个字符串。我看到的用法是接受输入并返回一个可以在javascript中分配给变量的值。

    var message=<%=antixss.javascriptencode(message)%>;

    现在,不管消息中包含什么,JS变量消息都将正确地转义确切的输入,因此,如果某个混蛋试图向该消息中注入javascript,他们只会看到将消息分配给消息变量的结果。