【问题标题】:Google App Engine PHP setting x frame options to same originGoogle App Engine PHP 将 x 框架选项设置为同源
【发布时间】:2019-05-08 20:38:46
【问题描述】:
我制作了一个最近通过渗透测试的应用程序。我需要将应用程序中的 X-Frame 选项设置为 SAMEORIGIN。这是为了防止点击劫持。我相信这在 App.yaml 文件中是可能的,但我不确定如何实现这样的东西。我已经扫描了文档,但仍然无法弄清楚如何拒绝,只允许。
handlers:
- url: /.*
script: public/index.php
http_headers:
X-Frame-Options SAMEORIGIN
【问题讨论】:
标签:
php
security
google-app-engine
laravel-5.1
clickjacking
【解决方案1】:
我在 Laravel 5.1 中使用中间件找到了解决方案
中间件叫FrameGuard,存放在下面
Illuminate\Http\Middleware\FrameGuard
要启用此功能,请将以下行添加到受保护的中间件数组
'Illuminate\Http\Middleware\FrameGuard',
这会将帧头选项设置为 SAMEORIGIN,如果需要可以更改。
这可以防止 Laravel 应用程序中的 Clickjacking 漏洞
【解决方案2】:
对于遇到此问题的任何人,http_headers 不起作用的原因是因为它只能应用于静态文件处理程序,如mentioned in the doc.:
可选。您可以为静态文件或目录处理程序的响应设置 HTTP 标头。 如果您需要在脚本处理程序中设置 HTTP 标头,则应改为在应用代码中进行。