ASP.Net core 防伪拒绝从 Iframe 提交表单

2024-02-13

我有一个 ASP.NET 核心应用程序。应用程序的一种形式是嵌入在不同应用程序的 iframe 内,并在不同的应用程序上运行。在我的配置中,我已经抑制了相同的起源X-Frameheader 以便我可以提交 iframe 表单。

services.AddAntiforgery(options =>
            {
                options.SuppressXFrameOptionsHeader = true;
            });

但是,当我通过 iframe 提交表单时,我收到错误请求错误,尽管我可以看到 CSRF 令牌已正确发送。如果我删除

[ValidateAntiForgeryToken]

控制器操作的属性我可以通过 iframe 提交表单。我究竟做错了什么?


我找到了这个问题的答案

https://stackoverflow.com/a/52709829/9931213 https://stackoverflow.com/a/52709829/9931213

你需要添加

options.Cookie.SameSite = SameSiteMode.None;

to your 添加防伪选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.Net core 防伪拒绝从 Iframe 提交表单 的相关文章

随机推荐