Asp.net AntiXSS-HtmlAttributeEncode用法
我试图找出HTMLAttributeNCode可以使用的上下文- 我试着简单地说“你好!”将警报脚本设置为控件属性,这样我可以看到HtmlAttributeEncode的作用-但看不到在哪里可以使用HtmlAttributeEncode而不是HtmlEncode 比如说,我有Asp.net AntiXSS-HtmlAttributeEncode用法,asp.net,xss,antixsslibrary,Asp.net,Xss,Antixsslibrary,我试图找出HTMLAttributeNCode可以使用的上下文- 我试着简单地说“你好!”将警报脚本设置为控件属性,这样我可以看到HtmlAttributeEncode的作用-但看不到在哪里可以使用HtmlAttributeEncode而不是HtmlEncode 比如说,我有 - a textbox for user input //txtuserInput.Text = <script>alert(document.cookie);</script> - an
- a textbox for user input
//txtuserInput.Text = <script>alert(document.cookie);</script>
- an anchor control to show user input being set as one of its attribute value
In codebehind tried with -
myanchorTag.InnerText = txtuserInput.Text
or
myanchorTag.Id = txtuserInput.Text
-用于用户输入的文本框
//txtuserInput.Text=警报(document.cookie);
-一个锚控件,用于显示设置为其属性值之一的用户输入
在codebehind中,使用-
myanchorTag.InnerText=txtuserInput.Text
或
myanchorTag.Id=txtuserInput.Text
但我看不到此脚本正在运行:-(我已经为TextBox.Text属性尝试过了,但我可以使用HtmlEncode 谁能给我引路
谢谢!asp:Textbox控件自动转义.Text属性。请参阅
当您使用未缩放控件和构建原始html时,您应该使用HTMLAttributeNCode。您使用的asp.net版本是什么?非常感谢您分享此列表-使事情更加清楚。但我仍然不太清楚HTMLAttributeNCode的用法。当您说原始html时,您是指在运行时创建控件,如“new HyperLink(){Text=Encoder.HtmlEncode(txtUserInput.Text)}。我尝试了一些其他控件,但在使用HtmlEncode和HTMLAttributencode时找不到任何区别。你是指“原始html”的其他内容吗?你能很好地使用HTMLAttributencode吗?假设你有一个:或者。在这两种情况下,如果你想设置title属性,你应该对其进行html属性编码。Wh在我看来,原始html是指通过连接字符串来构建html,然后以文本或类似的形式输出整个内容。如果您想了解为什么需要属性编码,请记住,对于属性,可以使用几种不同类型的引号引用。请参阅Owasp xss预防备忘单和www.unsecurelabs.org/Task/