首页 > Web开发 > PHP教程 > 正文

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

互联网 2019-10-18 15:45:56 0

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;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持WEB开发者。


  • 相关标签:Larave
  • 版权归原作者所有,如果有侵犯到您的权益,请联系本站删除!
  • 相关文章


    • 暂无相关信息

    专题推荐

    今日头条
  • 手机哪款好?8月值得买的手机就这四款 手机哪款好?8月值得买的手机就这四款
  • 七夕保命技能书送上 女朋友还有30秒到达战场 七夕保命技能书送上 女朋友还有30秒到达战场
  • 七夕保命技能书送上 女朋友还有30秒到达战场 七夕保命技能书送上 女朋友还有30秒到达战场
  • 七夕搞笑句子大全2019 七夕微信说说笑死人那种 七夕搞笑句子大全2019 七夕微信说说笑死人那种
  • 热门标签