5

我一直在使用Microsoft 的 AntiXss 库,想知道它的方法是否有充分的理由JavaScriptEncode将结果用单引号括起来?这种行为似乎不合常规。

4

2 回答 2

5

实际上新的 3.0beta 版本有一个标志 JavaScriptEncode(string input, bool flagforQuote)。将其设置为 false,会产生不带引号的结果。

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

于 2009-05-29T07:53:24.407 回答
1

可能是为了确保它返回一个字符串。我见过的用法是接受输入并返回一个值,您可以将其分配给 javascript 中的变量。

var message=<%=AntiXss.JavaScriptEncode(message)%>;

现在,无论消息中包含什么内容,js 变量消息都会正确转义正确的输入,因此如果某些混蛋试图将 javascript 注入该消息中,他们只会看到将消息分配给消息变量的结果。

于 2009-05-15T14:42:06.120 回答