由于'X-Frame-Options'到'SAMEORIGIN',Laravel 4拒绝加载iframe

时间:2014-06-06 13:02:26

标签: laravel laravel-4 http-headers same-origin-policy

我正在构建一个Chrome扩展程序,我在Gmail主页的弹出窗口中显示iframe。由于Gmail主页采用HTTPS格式,因此我的iframe也应采用https格式。我通过启用mod_ssl配置了apache2,并在apache2上运行了HTTPS。我制作了一个原生的PHP页面,并尝试在Gmail页面上的框架上显示该页面。我没有遇到从localhost加载页面的问题。但是,当我想使用Laravel后端时,它向我显示错误。

Refused to display 'https://localhost/laravel/laravel/public/index.php/chromelogin' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

任何建议??

3 个答案:

答案 0 :(得分:7)

bootstrap/start.php文件中添加以下行:

$app->forgetMiddleware('Illuminate\Http\FrameGuard');

答案 1 :(得分:1)

您可以创建服务提供者并将其放在register()函数

$this->app->forgetMiddleware('Illuminate\Http\FrameGuard');

这样,如果您不想为整个应用程序禁用它,就可以输入逻辑。

答案 2 :(得分:1)

自4.2

以来已删除
  

默认情况下在4.2中删除它。应该在后过滤器中 - 将离开FrameGuard类,以便人们可以根据需要手动添加中间件。

     

- Taylor Otwell

您可以确认这一点如果您查看源代码或搜索项目文件夹,以便您可以看到该类仍在Illuminate\Http\Middleware下,但唯一的引用位于vendor/laravel/framework/src/Illuminate/Foundation/Console/Optimize/config.php

$basePath.'/vendor/laravel/framework/src/Illuminate/Http/Middleware/FrameGuard.php',
相关问题