gpt4 book ai didi

javascript - Laravel 5.1 - 仅在 Safari 浏览器上与 Iframe 的 token 不匹配问题

转载 作者:可可西里 更新时间:2023-11-01 13:19:00 24 4
gpt4 key购买 nike

我在 laravel 5.1 中创建了几个表单,现在我在另一个使用 IFrame 的站点上使用这些表单。这些表单适用于除 Safari 之外的所有浏览器。当我在填写表格后尝试提交/发布数据时,出现错误“CSRF token 不匹配”,我不知道这是什么问题,同时也在创建和发送 csrf token 。这仅发生在 safari 浏览器的情况下。

有人可以指导我如何解决这个问题吗??

重现步骤:

创建一个表单,然后通过 IFrame 使用它。提交表单后,生成 CSRF Token Mismatch 错误。

如何解决?请帮忙!

代码示例:

<form method="post" action="/step1/{{$voucher->user_id}}" accept-charset="UTF-8">
<input name="_method" type="hidden" value="post">
{!! csrf_field() !!}
<div class="row" style="margin-top:15px; margin-bottom:15px;">
<div class="col-md-4 col-xs-5 hidden">
<input name="voucher_id" type="hidden" value="{{$voucher->id}}" id="voucher_id">

<input class="form-control spin text-center qty1" name="qty" id="qty" type="text" value="1" >
<input name="r_full_name" type="hidden" value="" id="r_full_name">


</div>

<div class="col-md-3 col-xs-3">
<button type="submit" class="btn btn-theme"><i class="fa fa-shopping-cart" aria-hidden="true"></i> | BUY</button>
</div>
</form>

这是示例代码...同样,所有这些在任何其他浏览器(FF、Chrome)中都能完美运行,但是当我将此表单放入另一个站点的 iframe 中时,我会收到 TokenMissmatch 错误...

最佳答案

这很可能与 Safari 如何处理 cookie 和 iframe 有关,请参阅 this question 的答案。其中引用了似乎是旧版本的 Safari Developer FAQ哪个州

Safari ships with a conservative cookie policy which limits cookie writes to only the pages chosen ("navigated to") by the user. This default conservative policy may confuse frame based sites that attempt to write cookies and fail.

这可以解释为什么您遇到此问题。

该问题的第二个答案提出了一个可以找到的解决方案 here .这基本上与重定向到拥有 cookie 的域、设置 session 并重定向回相同,这是提到的另一种解决方案 here .

关于javascript - Laravel 5.1 - 仅在 Safari 浏览器上与 Iframe 的 token 不匹配问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43065000/

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