gpt4 book ai didi

确保Laravel网站不会被嵌入到其他站点中的方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章确保Laravel网站不会被嵌入到其他站点中的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

HTTP 响应头部中,有一个字段,叫做 X-Frame-Options,该字段可以用来指示是否允许自己的网站被嵌入到其他网站的 <iframe> 或者 <object> 标签中。该头部有三个值 。

  1. DENY - 始终不允许嵌入,即使是同一个域名
  2. SAMEORIGIN - 只能在相同域名中嵌入
  3. ALLOW-FROM uri - 设置允许的域

通常,可以在 HTTP 代理中进行配置,比如 nginx 。

?
1
add_header X-Frame-Options SAMEORIGIN;

Laravel 自带了用来「只允许同域名嵌入」的中间件,我们只需要在 /app/Http/Kernel.php 中添加即可 。

?
1
2
3
4
// /app/Http/Kernel.php
protected $middleware = [
   \Illuminate\Http\Middleware\FrameGuard:: class ,
];

该中间件的实现如下 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
namespace Illuminate\Http\Middleware;
 
use Closure;
 
class FrameGuard
{
   /**
    * Handle the given request and get the response.
    *
    * @param \Illuminate\Http\Request $request
    * @param \Closure $next
    * @return \Symfony\Component\HttpFoundation\Response
    */
   public function handle( $request , Closure $next )
   {
     $response = $next ( $request );
 
     $response ->headers->set( 'X-Frame-Options' , 'SAMEORIGIN' , false);
 
     return $response ;
   }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://learnku.com/articles/35201 。

最后此篇关于确保Laravel网站不会被嵌入到其他站点中的方法的文章就讲到这里了,如果你想了解更多关于确保Laravel网站不会被嵌入到其他站点中的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

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