我确实有使用 ASP.NET MVC4 的某些功能的 SPA 应用程序,例如 AntiForgeryToken。
我不知道如何在不使用 Phonegap 不支持的 CSHTML 的情况下在 HTML 中实现 AntiForgeryToken 功能?
我确实有使用 ASP.NET MVC4 的某些功能的 SPA 应用程序,例如 AntiForgeryToken。
我不知道如何在不使用 Phonegap 不支持的 CSHTML 的情况下在 HTML 中实现 AntiForgeryToken 功能?
我认为有一种安全的方法可以在没有服务器生成页面的情况下实现防伪令牌:
Microsoft在此处提供了一个非常相似的示例实现(请参阅标题为“Anti-CSRF 和 AJAX”的部分)。
从表面上看,这可能看起来不安全,因为您有一个设置和返回防伪令牌的控制器方法,但是 Web 浏览器强制执行相同来源的安全策略,因此XSRF攻击应该是不可能的。
由于 phonegap 使用本地文件,它不受相同来源策略的约束(请参见此处),因此它将能够向您的 config.xml 中指定的任何域发出 AJAX 请求(请参见 <access origin="..." /> 此处)
ASP.NET MVC 中 AntiForgery 令牌的当前实现依赖于 HTML 帮助程序,该帮助程序生成隐藏的输入字段并设置 cookie。如果你不能使用这个助手,你将不得不自己滚动这个功能。