- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须对一个字段进行编码,以确保脚本注入(inject)的安全。
我知道我可以使用 HttpUtility.HtmlEncode 和 Decode,但是这种用于 HI-ASCII 字符的方法超出了数据库中字段大小的范围,并且我不想更改数据字段列的大小。
相反,如果我使用 HttpUtility.HtmlAttributeEncode,它可以正常工作,因为它不会对 HI-ASCII 字符进行编码。
它安全吗?它有什么缺点。
最佳答案
来自HttpUtility..::.HtmlAttributeEncode Method (String) :
The HtmlAttributeEncode method converts only quotation marks ("), ampersands (&), and left angle brackets (<) to equivalent character entities. It is considerably faster than the HtmlEncode method.
The string result from the HtmlAttributeEncode method should be used only for double-quoted attributes. Security issues might arise when using the HtmlAttributeEncode method with single-quoted attributes.
然而,将编码输入存储在数据库中并不是通常的做法。很难预测编码版本会变得多长。
更好的方法是直接存储输入,并且仅在需要时(当您以 HTML 形式输出时)对其进行编码。
关于c# - HttpUtility.HtmlAttributeEncode 的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2463251/
我必须对一个字段进行编码,以确保脚本注入(inject)的安全。 我知道我可以使用 HttpUtility.HtmlEncode 和 Decode,但是这种用于 HI-ASCII 字符的方法超出了数据
问题 我正在尝试在 MVC 中实现 HTML5/jQuery 模型,但遇到了一个我以前从未遇到过的问题;它似乎使用 Html.TextBoxFor、Html.PasswordFor 和其他所有自动编码
我是一名优秀的程序员,十分优秀!