我的问题是将数据库中的属性编码数据转换为INPUT标记的value属性。我需要知道在这种情况下最好的做法是什么。我想安全地将其渲染到INPUT标记的值标记中。
我在数据库中的数据(注意&符号):我&您
我正在使用一个类将编码值归属如下(这是OWASP XSS预防类的派生):
<INPUT ID="test" VALUE="<% =Encode.HtmlAttribute(theDBValue) %>" />
这显示为......
Me & You
...在屏幕上查看时,在文本框中,这不是客户想要看到的内容。他们希望看到“我和你”。
如何安全输出数据?
答案 0 :(得分:2)
问题在于页面上的某些功能正在部分地应用某些编码,特别是正在编码的&符号。因此,我的函数如上所示,是对值进行双重编码。