【问题标题】:Html encoding TextboxFor inputhtml编码Textbox用于输入
【发布时间】:2015-06-30 16:54:35
【问题描述】:

由于我刚刚开始学习与网络相关的编程,请暂时暴露我的无知。所以,我有一个用 MVC 编写的 Web 项目,它有一个登录窗口,其中用户名文本框绑定到一个属性:

@Html.TextBoxFor(model => model.UserName, new {@placeholder = "Username"})

据我了解,Razor 会自动对输入进行 html 编码,以帮助防止跨脚本攻击。但是,当我使用 javascript 测试用户名时,我从 MVC 中得到一个异常:

从 客户端 (UserName="...hp?name_1=code

这让我觉得输入不是 html 编码的。我的想法是通过 html 编码/解码来解决这个问题,但看起来我并没有完全理解这个想法。谁能解释一下?

注意: SO 的related posts 之一提供了不安全的解决方案,但我不能简单地允许 html。

【问题讨论】:

    标签: html asp.net-mvc-4 razor model-view-controller html-encode


    【解决方案1】:

    它不是 HTML 编码的,这是正确的。您必须在表单回帖的 Action 中进行 HTML 编码。

    此外,您需要添加 [ValidateInput(false)] 属性来说明您的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 2021-01-02
      • 2017-03-06
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      相关资源
      最近更新 更多