Asp.net AntiXss.JavaScriptEncode包装导致单引号的原因是否充分?
我一直在使用它,并且想知道它的Asp.net AntiXss.JavaScriptEncode包装导致单引号的原因是否充分?,asp.net,xss,antixsslibrary,Asp.net,Xss,Antixsslibrary,我一直在使用它,并且想知道它的JavaScriptEncode方法是否有很好的理由将结果用单引号括起来?这种行为似乎不符合常规。可能是为了确保它返回字符串。我看到的用法是获取输入并返回一个可以在javascript中分配给变量的值 var消息= 现在,无论消息中包含什么,js变量消息都会正确地转义确切的输入,因此,如果某个混蛋试图将javascript注入该消息,他们只会看到消息分配给消息变量的结果。实际上,新的3.0beta版本有一个标志JavaScriptEncode(字符串输入,bool
JavaScriptEncode
方法是否有很好的理由将结果用单引号括起来?这种行为似乎不符合常规。可能是为了确保它返回字符串。我看到的用法是获取输入并返回一个可以在javascript中分配给变量的值
var消息=
现在,无论消息中包含什么,js变量消息都会正确地转义确切的输入,因此,如果某个混蛋试图将javascript注入该消息,他们只会看到消息分配给消息变量的结果。实际上,新的3.0beta版本有一个标志JavaScriptEncode(字符串输入,bool flagforQuote)。将其设置为false将生成不带引号的结果
没错。但我发现自己更经常地使用JavaScriptEncode对构成字符串一部分的不可信用户输入进行编码,在这种情况下,使用“+”连接或手动删除引号是很烦人的。我还认为,这不是人们所期望的行为,因为其他方法都没有类似的功能(例如,HtmlAttributeNCode没有将结果用双引号括起来)。完全同意。确实很烦人