大佬教程收集整理的这篇文章主要介绍了当表单在 Iframe 内提交时 CSRF 失败,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有位于 domain-a.com 上的令牌的基本 HTML 表单。
www.domain-a.com/create:
<form method="post" action="http://domain-a.com/store">
@csrf // laravel implemention
<input type="name" name="test">
<input type="submit">
</form>
www.domain-a.com/store:
// CSRF valIDation
// do something with post data
www.domain-b.com:
<iframe src="www.domain-a.com/create"></frame>
当表单在浏览器窗口中单独存在时 (www.domain-a.com/create),CSRF 会按预期执行。没有 CSRF 令牌不匹配。
在 iframe 中的 domain-b.com 上实现相同的表单时,在提交后,domain-a.com 将报告不匹配的 CSRF 令牌。
我尝试实现不同类型的 http 标头(即 Access-Control-Allow-Origin: https://domain-b.com),但无济于事。合乎逻辑的事情是关闭表单的 CSRF,但是我正在寻找一种方法来解决这个问题而不影响 CSRF。
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的当表单在 Iframe 内提交时 CSRF 失败全部内容,希望文章能够帮你解决当表单在 Iframe 内提交时 CSRF 失败所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。