AntiXSS - HtmlAttributeEncode用法

时间:2012-02-16 16:49:54

标签: asp.net xss antixsslibrary

我试图找出可以使用HtmlAttributeEncode的上下文 -

我尝试过简单的“你好!”警报脚本要设置为控件属性,所以我可以看到HtmlAttributeEncode在运行 - 但是看不到我在哪里可以使用HtmlAttributeEncode而不是HtmlEncode。

所以,例如,我有

- 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

但我看不到这个脚本在运行:-(
我已经尝试过TextBox.Text属性,但为此我可以使用HtmlEncode。

任何人都可以指导。

谢谢!

1 个答案:

答案 0 :(得分:1)

asp:Textbox控件自动转义.Text属性。见http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-08-91-89-96/asp.net_5F00_control_5F00_encoding.htm

在使用未转义的控件和构建原始html时,您应该使用HtmlAttributeEncode。