了解HTTP安全标头(HTTP Security Headers)

了解HTTP安全标头(HTTP Security Headers)

安全标头是指定网络客户端(通常是浏览器)和应用程序服务器之间 HTTP 通信行为和安全相关细节的 HTTP 响应标头,其目的是促进深度防御。一旦设置了这些 HTTP 响应头,就能限制现代浏览器运行到容易预防的漏洞,并增加应用程序的安全层。

每个应用程序中配置以下安全标头:

strict-transport-security: max-age=31536000; includeSubDomains; preload
x-xss-protection: 0
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
referrer-policy: no-referrer-when-downgrade
permissions-policy: battery=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()
content-security-policy: frame-ancestors ‘self’; upgrade-insecure-requests; block-all-mixed-content;

strict-transport-security

这个安全标头的全称是HTTP Strict Transport Security(HSTS),它告诉浏览器仅通过HTTPS而不是HTTP来与服务器通信。这可以防止SSL剥离攻击,其中攻击者可能会尝试将用户从安全的HTTPS连接降级到不安全的HTTP连接。通过设置max-age参数,你可以指定浏览器应该记住网站仅可通过HTTPS访问的时间长度。includeSubDomains指令确保所有子域也将采用这一策略,而preload指令意味着你希望你的域名被包含在浏览器的HSTS预加载列表中。

x-xss-protection

这个标头旨在开启特定的浏览器端反射型XSS(跨站脚本)保护机制。然而,由于现代浏览器已经内建了更有效的XSS保护策略,x-xss-protection: 0实际上是推荐的设置,因为它禁用了浏览器自带的XSS过滤器,以避免其潜在不一致性和漏洞被利用。

x-frame-options

X-Frame-Options标头可以防止点击劫持攻击,通过指定你的页面是否可以在其他网站的<frame><iframe><embed><object>中显示。SAMEORIGIN值指令浏览器只允许来自相同域的页面将当前页面作为frame展示,这样可以防止恶意网站包含你的网页在一个frame中并诱导用户进行不知情的交互。

x-content-type-options

X-Content-Type-Options标头是为了阻止浏览器去尝试“嗅探”并自动识别错误声明的资源类型,其值为nosniff。这主要是为了防止基于MIME的攻击,确保在Content-Type头声明为某种类型时,浏览器也将仅以该方式处理响应的内容。

referrer-policy

Referrer-Policy标头用来控制HTTP Referer标头的内容,影响浏览器将站点的地址通过Referer标头发送给其他网站的方式。no-referrer-when-downgrade是默认的行为,意味着当从HTTPS页面导航到HTTP页面时,Referer标头将不会被发送,但在HTTPS到HTTPS的导航中会被发送。

permissions-policy

Permissions-Policy(以前称为Feature Policy)允许网站作者控制哪些跨域和同域的iframe可以使用哪些特定的Web平台特性。例如,禁用或启用如摄像头、地理位置等功能。在上面的示例中,所有列出的特性都被设置为(), 意味着这些特性对所有iframe都被禁用。

content-security-policy

Content-Security-Policy (CSP) 是一个重要的安全标头,用于减少跨站脚本(XSS)攻击的风险。它可以用来指定哪些动态资源可以被加载和执行。在上面的配置中,frame-ancestors 'self';指定页面只能被同源域的页面作为frame嵌套,upgrade-insecure-requests;会将所有通过HTTP加载的资源请求自动升级为HTTPS,而block-all-mixed-content;阻止页面加载任何混合内容(即同时存在HTTPS和HTTP资源的页面)。

参考链接

  • MDN Web Docs - HTTP 标头
  • Content Security Policy (CSP) 参考文档
  • Web.dev - 提高网页安全性的 HTTP 标头
  • OWASP - HTTP Strict Transport Security Cheat Sheet
  • W3C - Permissions Policy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/498325.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安卓调试桥ADB

Logcat 命令行工具 | Android Studio | Android Developers 什么是ADB ADB 全称为 Android Debug Bridge &#xff0c;是 Android SDK &#xff08;安卓的开发工具&#xff09;中的一个工具&#xff0c;起到调试桥的作用&#xff0c;是一个 客户端 - 服务器端程序 。其中 …

泛型,数据结构,集合

文章目录 泛型介绍解决问题好处使用通配符泛型的下限泛型的上限 数据结构定义常见的数据结构栈(先进后出)队列(先进先出)数组结构链表结构哈希表结构 集合List集合特点特有方法子类及其底层数据结构LinkedList集合 Set集合特点没有特有方法子类及其底层数据结构LinkedHashSet集…

HarmonyOS 应用开发之Want的定义与用途

Want 是一种对象&#xff0c;用于在应用组件之间传递信息。 其中&#xff0c;一种常见的使用场景是作为 startAbility() 方法的参数。例如&#xff0c;当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时&#xff0c;可以使用Want作为一个载体&#xff0c;将数据传递…

I.MX6ULL_Linux_系统篇(25) buildroot文件系统构建

前面我们学习了如何使用 busybox 来构建根文件系统&#xff0c;但是 busybox 构建的根文件系统不齐全&#xff0c;很多东西需要我们自行添加&#xff0c;比如 lib 库文件。在我们后面的驱动开发中很多第三方软件也需要我们自己去移植&#xff0c;这些第三方软件有很多又依赖其他…

Linux命令及中间件安装

一.Linux简介 1.Linux操作系统概述 Linux是基于Unix的开源免费的操作系统&#xff0c;由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds&#xff08;林纳斯托瓦兹&#xff09;起初开发的&#xff0c;由于源代码的开放性&#xff0c;现在…

系统分析师-数学与经济管理

系统架构设计师 系统架构设计师-软件开发模型总结 文章目录 系统架构设计师前言一、最小生成树二、最短路径三、网络与最大流量四、不确定型决策 前言 数学是一种严谨、缜密的科学&#xff0c;学习应用数学知识&#xff0c;可以培养系统架构设计师的抽象思维能力和逻辑推理能…

sheng的学习笔记-AI-人脸识别

目录:sheng的学习笔记-AI目录-CSDN博客 需要学习卷机神经网络等知识&#xff0c;见ai目录 目录 基础知识&#xff1a; 人脸验证&#xff08;face verification&#xff09; 人脸识别&#xff08;face recognition&#xff09; One-Shot学习&#xff08;One-shot learning&…

探索数据库--------------mysql主从复制和读写分离

目录 前言 为什么要主从复制&#xff1f; 主从复制谁复制谁&#xff1f; 数据放在什么地方&#xff1f; 一、mysql支持的复制类型 1.1STATEMENT&#xff1a;基于语句的复制 1.2ROW&#xff1a;基于行的复制 1.3MIXED&#xff1a;混合类型的复制 二、主从复制的工作过程 三个重…

踏入网页抓取的旅程:使用 grequests 构建 Go 视频下载器

引言 在当今数字化的世界中&#xff0c;网页抓取技术变得越来越重要。无论是获取数据、分析信息&#xff0c;还是构建自定义应用程序&#xff0c;我们都需要从互联网上抓取数据。本文将介绍如何使用 Go 编程语言和 grequests 库来构建一个简单的 Bilibili 视频下载器&#xff…

《亮数据:爬虫数据采集行业痛点的利器》

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。2022年度博客之星评选TOP 10&#x1f3c6;&#xff0c;Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作…

IDEA2023使用手册 【持续更新...】

IDEA介绍 IDEA官网&#xff1a;https://www.jetbrains.com.cn/idea/IDEA 2023.2.2下载地址&#xff1a;https://download.jetbrains.com/idea/ideaIU-2023.2.2.exe对第三方软件的支持&#xff1a;https://www.jetbrains.com/legal/third-party-software/?productiiu&versi…

gin | gin会话控制

会话控制 Cookie介绍 HTTP是无状态协议&#xff0c;服务器不能记录浏览器的访问状态&#xff0c;也就是说服务器不能区分两次请求是否由同一个客户端发出&#xff1b;Cookie 就是解决 HTTP 协议无状态的方案之一&#xff0c;中文是小甜饼的意思&#xff1b;Cookie 实际上就是…

香港90年代著名女歌手病逝终年58岁 抗癌大半年今早睡梦中离世

90年代玉女歌手黎明诗 (Stephanie) 今日&#xff08;3月28日&#xff09;惊爆病逝的消息&#xff0c;终年58岁。不少圈中朋友已收到消息&#xff0c;得悉她的死讯都大感惋惜。据知黎明诗积极抗癌大半年&#xff0c;今早在睡梦中离开。 黎明诗退出乐坛多年&#xff0c;其后在201…

Colorize (Texture Color Palette Modifier)

Colorize提供了无与伦比的区域颜色调整和效果控制,如使用纹理调色板的模型的发射、金属反射和模拟金属遮挡。 Colorize彻底改变了你在Unity中为3D模型添加颜色和生命的方式。无论你是一个独立开发者、艺术家,还是一个大型团队的一员,Colorize都提供了一套直观、强大的工具,…

Wireshark自定义协议解析器插件C语言开发

文章目录 概要Wireshark 软件整体架构基本概念解析器实现逻辑解析器编译环境搭建软件编译过程 概要 Wireshark是一款全球使用与开发维护人数最多的遵循GPL协议开源的网络协议分析软件&#xff0c;全球开发者为Wireshark编写了数千种协议的解析插件。 在实际的工作中&#xff0…

软件工程学习笔记10——开发编码篇2

开发编码篇 一、软件工程师的核心竞争力1、学习能力2、解决问题的能力&#xff08;1&#xff09;发现问题&#xff08;2&#xff09;分析问题&#xff08;1&#xff09;解决问题 3、影响力4、总结 二、如何提升软件工程师的核心竞争力1、如何提升学习能力2、如何提高解决问题的…

【python 数据可视化】 WordCloud词云图

目录 词云简介 准备工作 安装方法一&#xff1a; 安装方法二&#xff1a; 生成词云步骤 数据预处理&#xff1a; 分词&#xff1a; 统计词频出现的次数&#xff1a; 去除词语&#xff1a; 生成词云&#xff1a; 显示词云&#xff1a; 保存词云&#xff1a; 完整代码 词…

Docker搭建LNMP环境实战(07):安装nginx

1、模拟应用场景描述 假设我要搭建一个站点&#xff0c;假设虚拟的域名为&#xff1a;api.test.site&#xff0c;利用docker实现nginxphp-fpmmariadb部署。 2、目录结构 2.1、dockers根目录 由于目前的安装是基于Win10VMWareCentOS虚拟机&#xff0c;同时已经安装了VMWareT…

状态压缩DP【蒙德里安的梦想】

题目描述 输入样例 1 2 1 3 1 4 2 2 2 3 2 4 2 11 4 11 0 0输出样例 1 0 1 2 3 5 144 51205题目链接 https://www.acwing.com/problem/content/293/ 分析 总方案数即为横放的方案数&#xff0c;因为横放完后列填补只会出现一种情况1表示横放&#xff0c;0表示竖放如果合并…

实验2-spark编程

实验目的 &#xff08;1&#xff09;通过实验掌握Spark的基本编程方法&#xff1b; &#xff08;2&#xff09;熟悉RDD到DataFrame的转化方法&#xff1b; &#xff08;3&#xff09;熟悉利用Spark管理来自不同数据源的数据。 实验内容 1&#xff0e;Spark基本操作 请参照…