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


Posted in PHP onOctober 18, 2019

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

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

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

add_header X-Frame-Options SAMEORIGIN;

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

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

该中间件的实现如下

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
Php Cookie的一个使用注意点
Nov 08 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 PHP
php Calender(日历)代码分享
Jan 03 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
php实现Linux服务器木马排查及加固功能
Dec 29 PHP
php中session与cookie的比较
Jan 27 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
Dec 02 PHP
PHP解耦的三重境界(浅谈服务容器)
Mar 13 PHP
PHP中有关长整数的一些操作教程
Sep 11 PHP
PHP的Trait机制原理与用法分析
Oct 18 #PHP
tp5修改(实现即点即改)
Oct 18 #PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 #PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
Oct 18 #PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
Oct 18 #PHP
tp5.1 实现setInc字段自动加1
Oct 18 #PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 #PHP
You might like
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
php XMLWriter类的简单示例代码(RSS输出)
2011/09/30 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
2013/01/06 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
document.createElement()用法
2013/03/13 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
AngularJS中$http的交互问题
2017/03/29 Javascript
Vue.js进行查询操作的实例详解
2017/08/25 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
Python 错误和异常小结
2013/10/09 Python
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
python 写一个性能测试工具(一)
2020/10/24 Python
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
员工培训心得体会
2013/12/30 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
2014年销售工作总结
2014/12/01 职场文书
优秀团队申报材料
2014/12/26 职场文书
仙境之桥观后感
2015/06/16 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL