【问题标题】:iframe refused to connect while using XAMPP and Laravel使用 XAMPP 和 Laravel 时 iframe 拒绝连接
【发布时间】:2020-11-14 17:07:17
【问题描述】:

我正在开发一个 Laravel 应用程序并添加了一个 iframe,如下所示:

iframe 没有连接,只是说www.google.com 拒绝连接。我做了一些研究,这似乎与设置的 X-Frame-Options 有关。在 Chrome 浏览器开发者工具中,我看到以下错误消息:

在没有SameSite 属性的情况下设置了与https://www.google.com/ 处的跨站点资源关联的cookie。未来版本的 Chrome 将仅通过设置为 SameSite=NoneSecure 的跨站点请求传递 cookie。您可以在开发人员工具中的 Application>Storage>Cookies 下查看 cookie,并在 https://www.chromestatus.com/feature/5088147346030592https://www.chromestatus.com/feature/5633521622188032 查看更多详细信息。

我猜这是一个需要在 Apache 内的 XAMPP 服务器级别更改的设置,但我不知道在哪里。有什么想法吗?

【问题讨论】:

    标签: laravel xampp


    【解决方案1】:

    如果您在 localhost 上进行测试并且无法控制响应标头,则可以使用 chrome 标志禁用它。

    打开这个网址:

    chrome://flags/#same-site-by-default-cookies
    

    并禁用SameSite by default cookies

    SameSite 阻止浏览器将 cookie 与跨站点请求一起发送。

    如果您不想禁用SameSite by default cookies,您可以在发回响应之前添加响应标头来解决此问题:

    return response($content)
                  ->header("Set-Cookie", "HttpOnly;Secure;SameSite=Strict");
    

    【讨论】:

    • 非常感谢。我认为这肯定会奏效,但不幸的是,两者都没有奏效。我重新启动了 XAMPP 并再次运行 php:artisan serve。真的很奇怪。
    • 现在可以了。我犯的一个错误是使用 www.google.com 作为 iframe 中的链接。显然是被阻止了
    • 我建议使用 laragon 而不是 xampp...有关更多信息,请参阅我的这篇文章 stackoverflow.com/a/60383405/5753091
    猜你喜欢
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 2015-06-15
    • 2021-05-05
    • 2018-08-14
    • 2019-08-09
    相关资源
    最近更新 更多