【问题标题】:Facebook C# SDK on ASP.NET MVC 3, Potentially dangerous requestASP.NET MVC 3 上的 Facebook C# SDK,潜在危险请求
【发布时间】:2011-01-20 23:33:14
【问题描述】:

需要标准的“潜在危险请求”,如果您愿意,可以使用[ValidateInput(false)] 或更细化的方式解决它。

就我而言,它发生在我打电话给FbApp.Session 时。我有一个所有控制器都派生自的 BaseController。有一个override OnActionExecuting 电话。很常见的场景。

在 OnActionExecuting 内部,我使用 Facebook C# SDK 来管理我的使用成员资格。使用if (FbApp.Session != null) 是我检查用户是否通过身份验证的方式。

在运行调试器时,它指向对FbApp.Session 的调用作为异常的来源,指出“潜在危险的请求...”,这是由于其中一个已发布的请求变量中的 HTML - 即使实际操作我发帖到有[ValidateInput(false)] 属性。

Facebook C# SDK 内部发生了什么会导致这种行为?如何解决?

编辑: 看起来可能是a bug in ASP.NET MVC 3 RC2(我还没有升级到完整版本)。我会升级并报告我的发现。

【问题讨论】:

  • 你用的是哪个sdk?
  • Nathan Totten (facebooksdk.codeplex.com) 的 Facebook C# SDK
  • 如果您有可用的堆栈跟踪,请提供。通常这意味着有人(可能是 SDK)尝试直接调用 Request.Form。请记住,[ValidateInput(false)] 属性只会影响模型绑定,除非您将其与 结合使用,这会在任何地方将其关闭。
  • 谢谢李维。当我回到我的工作站时,我会得到堆栈跟踪。也许我会添加 '' 并手动检查数据。
  • 让我知道升级到 MVC3 RTM 后它是如何工作的。我想不出 sdk 中的任何东西会导致这种情况。

标签: asp.net-mvc facebook-c#-sdk


【解决方案1】:

答案是,确保您使用的是 ASP.NET MVC3 RTM,并且在 web.config 中有 <httpRuntime requestValidationMode="2.0" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多