- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
与此相关question我在 ASP.NET MVC 项目中遇到了 XSS 问题,并且对 MvcHtmlSTRing.ToHtmlString() 方法感到困惑。来自 documentation “返回一个代表当前对象的 HTML 编码字符串。”,但它在我的情况下不起作用:
var mvcHtmlString = MvcHtmlString.Create("<SCRIPT/XSS SRC=\"htpp://ha.ckers.org/css.js\">").ToHtmlString();
var encoded = HttpUtility.HtmlEncode("<SCRIPT/XSS SRC=\"htpp://ha.ckers.org/css.js\">");
mvcHtmlString 的输出
<SCRIPT/XSS SRC="htpp://ha.ckers.org/css.js">
编码的输出<--这是我怀疑的行为!
<SCRIPT/XSS SRC="htpp://ha.ckers.org/css.js">
我错过了什么吗?
最佳答案
MvcHtmlString (或 HtmlString ,或任何实现 IHtmlString 的东西)适用于应按 HTML 逐字发出的字符串 - 即,通过将其设为 MvcHtmlString,您就告诉它您实际上需要这些 HTML 标记。
区别在于当您使用 <%: .. %>
将字符串发送到 ASP.NET 页面时(ASP.NET 4 或更高版本中的新增功能)。在这种情况下,ASP.NET 引擎将自动为您 HtmlEncode 常规字符串(或任何未实现 IHtmlString 的内容),而 MvcHtmlString 将逐字/未编码地发送到页面中。
即我认为文档是错误的。有一个connect ticket HtmlString 构造函数文档中存在相同的错误,他们确实修复了该错误。 (我以为我提交了该文件:-/也许我的文件作为其他人的重复文件而被关闭?)我没有注意到 MvcHtmlString 文档也是错误的。
关于asp.net - MvcHtmlString.ToHtmlString() 不编码 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9802144/
我有以下 Kendo UI 网格,我需要呈现详细信息页面的操作链接: @(Html.Kendo().Grid() .Name("grid") .Columns(columns => {
与此相关question我在 ASP.NET MVC 项目中遇到了 XSS 问题,并且对 MvcHtmlSTRing.ToHtmlString() 方法感到困惑。来自 documentation “返
我是一名优秀的程序员,十分优秀!