- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个 ASP.Net Webforms (.Net 4.7.2) 站点。我们启用了 built-in XSS protection通过添加到 web.config
:
<httpRuntime encoderType="System.Web.Security.AntiXss.AntiXssEncoder" ... />
这工作正常,除了在一个地方:我们有一些代码生成一个小图像,并使用数据 URI 将它嵌入到页面中:
(aspx)
<asp:Image ID="image1" runat="server">
(C#)
image1.ImageUrl = dataURI;
和dataURI
通常是这样的:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMMAAADDAQMAAAA ...
这在没有 AntiXssEncoder 的情况下工作正常,但在适当的位置呈现的 HTML 变成:
<img id="image1" src="data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAA ...
...所以src的“header”中的不安全字符已经被编码,图像不会在浏览器上显示。
我如何为这个图像对象禁用 AntiXssEncoder,或者以其他方式强制 Data URI 到达浏览器而不被重新编码?此特定页面上没有用户输入。
最佳答案
一种方法是“自己动手”。引用:https://stackoverflow.com/a/7406983/11534
基本上
public string ImageData {get;set;}
)并将其设置为保存 base64 数据。<asp:Image ID="image1" runat="server">
与 <img src="<% =ImageData %>" />
关于asp.net - Data URI 被 AntiXssEncoder 双重编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67839146/
在 ASP.NET 4.5 中,有一个新的命名空间 System.Web.Security.AntiXss,其中包括 AntiXssLibrary 4.0 版本 ( http://www.asp.ne
我们有一个 ASP.Net Webforms (.Net 4.7.2) 站点。我们启用了 built-in XSS protection通过添加到 web.config: 这工作正常,除了在一
我做了一个Microsoft Connect bug submission ,我在提交中链接了这个问题。 我正在使用 System.Web.Security.AntiXss.AntiXssEncode
我是一名优秀的程序员,十分优秀!