【问题标题】:MVC returnUrl dangerous request.pathMVC returnUrl 危险的request.path
【发布时间】:2014-07-11 02:19:02
【问题描述】:

这是一个 MVC 4 项目,我正在尝试在登录后将用户重定向到 returnUrl,但我遇到了 returnUrl 编码问题。

这是我的登录控制器方法:

        [ValidateInput(false)]
        [HttpPost]
        public ActionResult Login(Models.ViewModels.UserLogin user, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (user.IsValid(user.UserName, HelpMethods.sha256(user.Password)))
                {
                    FormsAuthentication.SetAuthCookie(user.UserName, user.RememberMe);
                    if (returnUrl != null)
                    {
                        return RedirectToAction(Url.Encode(returnUrl));
                    }
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    ModelState.AddModelError("", "Fel användarnamn eller lösenord.");
                }
            }
            return View(user);
        }

使用此代码,我得到A potentially dangerous Request.Path value was detected from the client (&)。我做了一些研究并尝试了以下方法没有成功

  1. [ValidateInput(false)]
  2. <requestFiltering allowDoubleEscaping="true"/>
  3. <httpRuntime requestValidationMode="2.0" />定义了重复的“system.web.extensions/scripting/scriptResourceHandler”部分”,此错误是因为您在 .NET Framework 4 中运行基于 .NET Framework 3.5 的应用程序。如果您是运行 WebMatrix,要解决此问题,请转到“设置”节点将 .NET Framework 版本设置为“.NET 2”。您还可以从 web.config 文件中删除多余的部分。

我需要一些关于如何解决这个问题的建议,谢谢。

【问题讨论】:

    标签: asp.net-mvc encoding web-config returnurl


    【解决方案1】:

    我认为这与第3点有关:

    <httpRuntime requestValidationMode="2.0" />
    

    当您在 Web.Config 中进行更改后,错误已解决,但立即弹出另一条错误消息。

    您应该执行错误消息中描述的步骤,或者您应该删除 'system.web.extensions/scripting/scriptResourceHandler' 部分 在您的 web.config(如果可能)或 machine.config(s) 中。

    32 位

    %windir%\Microsoft.NET\Framework\[version]\config\machine.config
    

    64 位

    %windir%\Microsoft.NET\Framework64\[version]\config\machine.config
    

    发生这种情况的原因是因为您安装了一些修改您的 machine.config 文件的软件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      • 2012-05-22
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多