gpt4 book ai didi

cordova - 将 ASP.NET MVC4 SPA AntiForgeryToken 转换为 PhoneGap

转载 作者:行者123 更新时间:2023-12-01 11:46:15 28 4
gpt4 key购买 nike

我的 SPA 应用程序使用了 ASP.NET MVC4 的某些功能,例如 AntiForgeryToken。

我不知道如何在不使用 Phonegap 不支持的 CSHTML 的情况下在 HTML 中实现 AntiForgeryToken 功能?

最佳答案

我认为有一种安全的方法可以在没有服务器生成页面的情况下实现防伪 token :

  1. 创建一个 Controller 或网络 API 方法,使用您的防伪 token 值设置一个仅限 HTTP 的 cookie,并返回防伪 token 值(作为 JSON)。有一个公共(public)方法AntiForgery.GetTokens()Html.AntiForgeryToken() 调用.使用此方法读取 C# 代码中的 token 值。
  2. 从您的 phonegap 应用程序中的 javascript 调用 Controller 或网络 api 方法(在第 1 步中)并获取返回的防伪 token 并使用 javascript(使用名为 _RequstVerificationToken 的隐藏输入字段)将其添加到表单中。
  3. 将表单提交给具有 [ValidateAntiForgeryToken] 属性的方法,它应该进行适当的验证。

Microsoft 提供了一个非常相似的示例实现 here (请参阅标题为“反 CSRF 和 AJAX”的部分)。

从表面上看,这似乎不安全,因为您有一个设置和返回防伪 token 的 Controller 方法,但 Web 浏览器强制执行 same origin security policy , 所以 XSRF攻击应该是不可能的。

由于 phonegap 使用本地文件,因此不受 same origin policy 的约束。 ( see here ) 因此它将能够向 config.xml ( see <access origin="..." /> here ) 中指定的任何域发出 AJAX 请求

关于cordova - 将 ASP.NET MVC4 SPA AntiForgeryToken 转换为 PhoneGap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14980989/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com