【发布时间】:2009-10-15 10:13:48
【问题描述】:
如何在 ASP.NET MVC 中使用带有 html 助手的 Html.Encode 来防止 javascript 注入? 例如:
<%= Html.TextBox("Name") %>
【问题讨论】:
标签: c# html asp.net-mvc
如何在 ASP.NET MVC 中使用带有 html 助手的 Html.Encode 来防止 javascript 注入? 例如:
<%= Html.TextBox("Name") %>
【问题讨论】:
标签: c# html asp.net-mvc
框架会自动处理所有这些。您必须明确告诉它不要检查危险输入。
如果您允许基本 html,则不应解码任何进入数据库的内容。
我选择不在希望我的模型执行该功能的客户端上进行编码。视图应该显示数据,而不是我认为的其他内容。
在你的模型中解码/编码视图的路上。
【讨论】:
海报格里格斯是正确的。在 ASP.NET MVC 1.0 中,Html.Textbox 助手会为您清理输入。
您可能还想了解下一版 ASP.NET 中新的 HTML 编码块语法 - 您可以在此处阅读:
【讨论】:
试试这个:
<%=Html.TextBox( "name", Html.Encode(var_value) , new { @class = 'css-class" } );%>
【讨论】: