使用 XAMPP 和 Laravel 时 iframe 拒绝连接

Posted

技术标签:

【中文标题】使用 XAMPP 和 Laravel 时 iframe 拒绝连接【英文标题】:iframe refused to connect while using XAMPP and Laravel 【发布时间】: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/5088147346030592 和 https://www.chromestatus.com/feature/5633521622188032 查看更多详细信息。

我猜这是一个需要在 Apache 内的 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...有关更多信息,请参阅我的这篇文章 ***.com/a/60383405/5753091

以上是关于使用 XAMPP 和 Laravel 时 iframe 拒绝连接的主要内容,如果未能解决你的问题,请参考以下文章

使用虚拟主机 XAMPP 查看路由 Laravel 时出错

在 Ubuntu (laravel) 中使用 XAMPP 运行 PHP 和 MySQL

使用 laravel 框架时如何在 xampp 上创建虚拟主机

使用 xampp 在 laravel 中路由

CSS 不会在 XAMPP 上的 Laravel 8 + Jetstream 中加载

如何在 Windows 中自动启动 XAMPP 和 Laravel 项目