【问题标题】:How to use Html.Encode with Html.Texbox in Asp.net MVC?如何在 Asp.net MVC 中使用 Html.Encode 和 Html.Text 框?
【发布时间】:2009-10-15 10:13:48
【问题描述】:

如何在 ASP.NET MVC 中使用带有 html 助手的 Html.Encode 来防止 javascript 注入? 例如:

   <%= Html.TextBox("Name") %>

【问题讨论】:

    标签: c# html asp.net-mvc


    【解决方案1】:

    框架会自动处理所有这些。您必须明确告诉它不要检查危险输入。

    如果您允许基本 html,则不应解码任何进入数据库的内容。

    我选择不在希望我的模型执行该功能的客户端上进行编码。视图应该显示数据,而不是我认为的其他内容。

    在你的模型中解码/编码视图的路上。

    【讨论】:

      【解决方案2】:

      海报格里格斯是正确的。在 ASP.NET MVC 1.0 中,Html.Textbox 助手会为您清理输入。

      您可能还想了解下一版 ASP.NET 中新的 HTML 编码块语法 - 您可以在此处阅读:

      ASP.NET 4.0 HTML BLock encoding syntax

      【讨论】:

        【解决方案3】:

        试试这个:

        <%=Html.TextBox( "name", Html.Encode(var_value) , new { @class = 'css-class" } );%>
        

        【讨论】:

          猜你喜欢
          • 2010-10-06
          • 1970-01-01
          • 1970-01-01
          • 2019-06-05
          • 1970-01-01
          • 2011-01-18
          • 2018-03-20
          • 1970-01-01
          • 2014-08-31
          相关资源
          最近更新 更多