asp.net – Bind()还是Eval()自动使用HtmlEncode来防范XSS?
发布时间:2020-12-15 22:47:16 所属栏目:asp.Net 来源:网络整理
导读:原谅我,如果这是一个愚蠢的问题.我未能明确地找到答案. 我很少在我的aspx页面中使用Bind()或Eval(),而是使用以下语法:(假设这是在Repeater控件中的ItemTemplate中) asp:Label id="lblFirstName" runat="server" Text='%# Microsoft.Security.Application.An
原谅我,如果这是一个愚蠢的问题.我未能明确地找到答案.
我很少在我的aspx页面中使用Bind()或Eval(),而是使用以下语法:(假设这是在Repeater控件中的ItemTemplate中) <asp:Label id="lblFirstName" runat="server" Text='<%# Microsoft.Security.Application.AntiXss.HtmlEncode(DataBinder.Eval(Container.DataItem,"FirstName").ToString()) %> 我很久以前就开始这样做,从来没有质疑过,但现在我觉得这可能是过度的.现在我正在使用一种使用这种语法的CMS: <asp:Label id="lblFirstName" runat="server" Text='<%# Bind("FirstName") %> 所以我想知道,基本上,如果我使用Bind()或Eval()运行时自动HtmlEncode的输出?我一直在做不必要的编码吗? 解决方法
Bind()和Eval()不执行任何操作,以防止这种类型的事物并且不编码. <%#%>样式代码块.
但是,如果使用ASP.NET 4和更高版本,则可以使用<%:%>处理此响应写入类型情况的块和<%#:%>用于数据绑定情况. Scott Guthrie对此有很大的作用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 你能以编程方式设置MachineKey吗?
- asp.net – MVC 4如何为WebGrid设置行ID
- asp.net – SignalR不再工作“找不到包含OwinStartupAttrib
- asp.net-mvc – 为什么visual studio 2012会在mvc项目中自动
- asp.net-mvc-3 – ASP.NET MVC3 Razor – 在将视图放置在备
- telerik – ASP.NET MVC2富文本编辑器
- .net – appSettings等效于applicationSettings的文件属性
- 是否可以使Page.IsPostBack独立于ASP.net而变为真?
- asp.net – 寻找用于呈现显示对象视图的表单的代码
- entity-framework – 无法启用 – 迁移.引发System.BadImag
推荐文章
站长推荐
- asp.net – MVC2 – 逻辑应该去的基本问题
- Asp.net mvc3剃刀具有多个提交按钮
- asp.net – 在页面加载中实现IsPostBack
- ASP.NET Core 使用Swagger
- asp.net-mvc – 将模型传递给RedirectToAction()
- iis-7 – 经典ASP站点请求在IIS7中随机挂起
- asp.net-mvc – 在visual studio 2013中使用angu
- asp.net-mvc – 使用Automapper将字符串映射到枚
- asp.net-mvc-4 – MVC 4中客户URL的自定义OpenId
- asp.net-mvc – ASP.NET MVC从数据库加载Razor视
热点阅读