我必须对一个字段进行编码,以确保脚本注入的安全。
我知道我可以使用 HttpUtility.HtmlEncode 和 Decode,但是这种用于 HI-ASCII 字符的方法超出了数据库中字段大小的范围,并且我不想更改数据字段列的大小。
相反,如果我使用 HttpUtility.HtmlAttributeEncode,它可以正常工作,因为它不会对 HI-ASCII 字符进行编码。
它安全吗?它的缺点是什么?
From HttpUtility..::.HtmlAttributeEncode 方法(字符串) http://msdn.microsoft.com/en-us/library/wdek0zbf.aspx:
HtmlAttributeEncode 方法仅将引号 (")、与号 (&) 和左尖括号 (
HtmlAttributeEncode 方法的字符串结果只能用于双引号属性。可能会出现安全问题将 HtmlAttributeEncode 方法与单引号属性一起使用时。
然而,将编码输入存储在数据库中并不是通常的做法。很难预测编码版本会变得多长。
更好的方法是直接存储输入,并且仅在需要时(当以 HTML 形式输出时)对其进行编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)