The X-Frame-Options HTTP 响应头是用来给浏览器 指示允许一个页面 可否在 <frame>, <iframe>, <embed> 或者 <object> 中展现的标记。

站点可以通过确保网站没有被嵌入到别人的站点里面,从而避免 clickjacking 攻击。

The added security is only provided if the user accessing the document is using a browser supporting X-Frame-Options.

Content-Security-Policy HTTP 头中的 frame-ancestors 指令会替代这个非标准的 header。

CSP 的 frame-ancestors 会在 Gecko 4.0 中支持,但是并不会被所有浏览器支持。

然而 X-Frame-Options 是个已广泛支持的非官方标准,可以和 CSP 结合使用。

X-Frame-Options 有三个可能的值:

  # 表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

  X-Frame-Options: deny

  # 表示该页面可以在相同域名页面的 frame 中展示。

  X-Frame-Options: sameorigin

  # 表示该页面可以在指定来源的 frame 中展示。

  X-Frame-Options: allow-from https://example.com/

注意:

  设置 meta 标签是无效的!

  例如 <meta http-equiv="X-Frame-Options" content="deny"> 没有任何效果。

  不要这样用!只有当像下面示例那样设置 HTTP 头 X-Frame-Options 才会生效。

Apache:

  Header set X-Frame-Options "sameorigin"

Nginx:

  add_header X-Frame-Options sameorigin always;

HAProxy:

  http-response set-header X-Frame-Options sameorigin

Express:

  const helmet = require('helmet');

  const app = express();

    app.use(helmet.frameguard({ action: "sameorigin" }));  // app.use(helmet()) 使用所有安全策略

在 Firefox 尝试加载 frame 的内容时,如果 X-Frame-Options 响应头设置为禁止访问了,那么 Firefox 会用 about:blank 展现到 frame 中。

也许从某种方面来讲的话,展示为错误消息会更好一点。

Refer:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Frame-Options

Refer:https://www.npmjs.com/package/helmet

Link:https://www.cnblogs.com/farwish/p/15484863.html

[FE] iframe 相关选项 x-frame-options: 设置 meta 标签无效 & helmet的更多相关文章

  1. 【转】vue中动态设置meta标签和title标签

    因为和原生的交互是需要h5这边来提供meta标签的来是来判断要不要显示分享按钮,所有就需要手动设置meta标签,标题和内容 //router内的设置 { path: '/teachers', name ...

  2. 设置meta标签 清除页面缓存,如:<meta http-equiv="Cache-Control" content="no-cache"/>

    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" ...

  3. IE 兼容模式 设置 Meta Compatible 和 Iframe 子页面的关系

    背景 因为历史原因,之前很多的系统都会是 顶级页面+Iframe来加载子级页面的这种模式构件系统,而且系统都只能运行在IE6或者IE 高版本兼容模式下(IE 7模式). 随着现在的审美原来越高,脚本能 ...

  4. jquery 实践操作:iframe 相关操作

    此篇记录关于HTML 的 iframe 元素 的相关记录 定义:iframe 元素会创建包含另外一个文档的内联框架(即行内框架). 常用的基本 iframe 设置(详细设置属性参考API:http:/ ...

  5. 基于SqlSugar的开发框架循序渐进介绍(7)-- 在文件上传模块中采用选项模式【Options】处理常规上传和FTP文件上传

    在基于SqlSugar的开发框架的服务层中处理文件上传的时候,我们一般有两种处理方式,一种是常规的把文件存储在本地文件系统中,一种是通过FTP方式存储到指定的FTP服务器上.这种处理应该由程序进行配置 ...

  6. WordPress 后台添加额外选项字段到常规设置页面

    有时候我们需要添加一些额外的设置选项到常规设置(后台 > 设置 > 常规)页面,下面是一个简单的范例: 直接添加到主题的 functions.php 即可:   /*** WordPres ...

  7. 基于iframe的CFS(Cross Frame Script)和Clickjacking(点击劫持)攻击

    攻击原理:     CFS攻击(Cross Frame Script(跨框架脚本)攻击)是利用浏览器允许框架(frame)跨站包含其它页面的漏洞,在主框架的代码 中加入scirpt,监视.盗取用户输入 ...

  8. 如何让iframe背景色透明框架页文件设置

    如何让iframe背景色透明框架页文件设置:<body style="background-color:transparent" > 或 <body bgColo ...

  9. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  10. [Swift通天遁地]二、表格表单-(11)创建星期选项表单和拥有浮动标签的文本框

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

随机推荐

  1. uni-app如何实现USB插入后自动弹出对应软件

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 最近碰到了一个奇葩需求,要用uni-app来实现usb接入设备的时候,让软件自动弹出来,这里给出我制作的过程和参考的各种思路,希望对大家有 ...

  2. 记录--JS-SDK页面打开提示realAuthUrl错误

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 测试环境好好地功能,上了生产,莫名其妙报错,开始以为是没有设置Js安全接口域名,结果让相应人员一查,已经设置了相应的域名,再看下公众号内的 ...

  3. 摄影系列:李涛ps视频教程笔记

    四种颜色模式: HSB:人眼的识别. RGB:基于光.(RGB自然三原色,三个最大值,得出白色,所以RGB为加色模式) CMY:基于印刷.(青.品.黄印刷三原色,三个最大值,得出黑色,所以CMY为减色 ...

  4. vue中elementui表格错位问题解决(一次到位)

    引入element-resize-detector 在项目引入插件(用来监听元素宽度变化) npm install element-resize-detector --save 在文件中引入(写在sc ...

  5. WC-Write Combining 合并写技术

    WC-Write Combining 合并写技术 为了提高写效率: CPU在写入L1时,同时用WC写入L2 实验代码: public class WriteCombining { private st ...

  6. spring redis 工具类

    import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; ...

  7. KingabseES例程-函数和过程的 INVOKER 与 DEFINER

    调用者权利和定义者权利子句 指定子程序的权利属性.权利属性影响单元在运行时,执行的SQL语句的名称解析和权限检查. PG模式: SECURITY INVOKER SECURITY DEFINER Or ...

  8. .Net接入AzureOpenAI、OpenAI、通义千问、智谱AI、讯飞星火、文心一言大语言模型。

    前言 现在在网上搜索.NET接入大模型的帖子很少,有些官方案例只提供java和python的SDK,所以有了这篇.Net的接入大模型文章,目前仅实现对话模型的调用. 这里仅举例通义千问,其他模型实现可 ...

  9. 04 jQuery遍历器

    04 jQuery遍历器 如果jQuery一次性选择了很多元素节点. 而我们又希望能拿到每一个元素中的相关信息. 此时可以考虑用jQuery的遍历器来完成对元素的循环遍历. 例如: <!DOCT ...

  10. Avalonia的自定义用户组件

    Avalonia中的自定义用户控件 Avalonia是一个跨平台的.NET UI框架,它允许开发者使用C#和XAML来构建丰富的桌面应用程序. 自定义用户控件(UserControl)是Avaloni ...