lighttpd http响应报文(Response)增加安全头Referrer-Policy和X-Permitted-Cross-Domain-Policies方法
X-Permitted-Cross-Domain-Policies和Referrer-Policy说明
X-Permitted-Cross-Domain-Policies
X-Permitted-Cross-Domain-Policies 浏览器提供了许多可选的安全相关功能与特性,这些功能与特性通常可以通过 HTTP 响应头来控制,使用这些功能,可以避免受到浏览器端的用户受到类似CSRF、XSS、Click Hijacking 等前端黑客攻击的影响。Web 服务器对于 HTTP 请 求的响应头中缺少 X-Permitted-Cross-Domain-Policies,这将导致浏览器提供的安全特性失效。 当一些在线的 Web Flash 需要加载其他域的内容时,很多 Web 会通 过设置一个 crossdomain.xml 文件的方式来控制其跨域方式。很有可能有些开发者 并没有修改 crossdomain.xml 文件的权限,但是又有和跨域的 Flash 共享数据的需求,这时候可以通过设置 X-Permitted-Cross-Domain-Policies 头的方式来替代 crossdomain.xml 文件
语法:
X-Permitted-Cross-Domain-Policies: master-only
说明:
none
不允许使用loadPolicyFile方法加载任何策略文件,包括此主策略文件。master-only:
只允许使用主策略文件[默认值]。by-content-type:
只允许使用loadPolicyFile方法加载HTTP/HTTPS协议下Content-Type 为text/x-cross-domain-policy的文件作为跨域策略文件。by-ftp-filename:
只允许使用loadPolicyFile方法加载FTP协议下文件名为 crossdomain.xml的文件作为跨域策略文件。all:
可使用loadPolicyFile方法加载目标域上的任何文件作为跨域策略文件,甚至是一 个JPG也可被加载为策略文件
Referrer-Policy
Referrer-Policy 首部用来监管哪些访问来源信息——会在 Referer 中发送——应该被包含在生成的请求当中
语法:
Referrer-Policy: no-referrer
Referrer-Policy: no-referrer-when-downgrade
Referrer-Policy: origin
Referrer-Policy: origin-when-cross-origin
Referrer-Policy: same-origin
Referrer-Policy: strict-origin
Referrer-Policy: strict-origin-when-cross-origin
Referrer-Policy: unsafe-url
说明:
no-referrer
整个 Referer 首部会被移除。访问来源信息不随着请求一起发送。 no-referrer-when-downgrade (默认值) 在没有指定任何策略的情况下用户代理的默认行为。在同等安全级别的情况下(HTTPS->HTTPS),引用页面的地址会被发送,但是在降级的情况下 (HTTPS->HTTP)不会被发送。origin
在任何情况下,仅发送文件的源作为引用地址。例如 https://example.com/page.html 会将 https://example.com/ 作为引用地址。origin-when-cross-origin
对于同源的请求,会发送完整的URL作为引用地址,但是对于非同源请求仅发送文件的源。same-origin
对于同源的请求会发送引用地址,但是对于非同源请求则不发送引用地址信息。strict-origin
在同等安全级别的情况下(HTTPS->HTTPS),发送文件的源作为引用地址,但是在降级的情况下(HTTPS->HTTP)不会发送 。strict-origin-when-cross-origin
对于同源的请求,会发送完整的URL作为引用地址;对于非同源,在同等安全级别的情况下(HTTPS->HTTPS),发送文件的源作为引用地址;在降级的情况下(HTTPS->HTTP)不发送此首部。unsafe-url
无论是同源请求还是非同源请求,都发送完整的 URL(移除参数信息之后)作为引用地址。 这项设置会将受 TLS 安全协议保
lighttpd修改方法
在lighttpd.conf文件中增加以下配置
setenv.add-response-header += ("X-Permitted-Cross-Domain-Policies" => "master-only"
)
setenv.add-response-header += ("Referrer-Policy" => "no-referrer-when-downgrade"
)
测试
修改之后重启
lighttpd /lighttpd -f /etc/lighttpd.conf
修改前响应头
Content-Length: 191
content-security-policy: default-src http:
Content-Type: application/json;charset=UTF-8
Date: Fri, 28 Oct 2022 09:31:15 GMT
permissions-policy: interest-cohort=()
strict-transport-security: max-age=300; includeSubDomains
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
修改后响应头
Content-Length: 224
content-security-policy: default-src http:
Content-Type: application/json;charset=UTF-8
Date: Fri, 28 Oct 2022 10:01:49 GMT
permissions-policy: interest-cohort=()
Referrer-Policy: no-referrer-when-downgrade
strict-transport-security: max-age=300; includeSubDomains
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: master-only
x-xss-protection: 1; mode=block
从测试响应可以看到修改之后,响应头增加了以下部分
Referrer-Policy: no-referrer-when-downgrade
X-Permitted-Cross-Domain-Policies: master-only
参考链接
响应头缺失、禁用Options方法、解决跨域-pudn.com
Add HTTP Response Headers in lighttpd • Computer Science and Machine Learning (xarg.org)
lighttpd http响应报文(Response)增加安全头Referrer-Policy和X-Permitted-Cross-Domain-Policies方法相关推荐
- http请求报文及响应报文
原创文章,如需转载请注明来自http://blog.csdn.net/aspenstars 谢谢! 一.HTTP报文格式 HTTP报文分为两类:请求报文request, 响应报文response 二. ...
- HTTP请求报文(请求行、请求头、请求体),响应报文
转载:https://www.cnblogs.com/lmh001/p/9928517.html 一.HTTP请求报文 HTTP请求报文由3部分组成(请求行+请求头+请求体): 请求行: ①是请求方法 ...
- Request Headers 和Response Headers——请求头和响应头
前沿 作为一个前端开发工程师看不懂每条请求的请求头和响应头,实在是一件很难受的事情.最近花了一些时间整理了一篇文档,一起来看看前后端交互时每个资源的信息. 谷歌浏览器调试工具--查看请求资源的信息数据 ...
- HTTP响应报文与工作原理详解
HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应信息. 超文本传输协议(Hypertext Transfer Protocol ...
- http详解 请求报文格式和响应报文格式
题外话: <Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元>相信过去BTC的人,信不信未来的PI,了解一下,唯一一个高度与之持平的项目 HTTP 工作原理 超文本传 ...
- 【转】HTTP响应报文与工作原理详解
超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到 ...
- java 报文请求_http 请求报文和响应报文编写 (java socket实例)
http 请求头由三部分组成:请求行.请求头部.请求体 GET / HTTP/1.1\r\n Host: 114.55.40.20\r\n Content-Type: text/html;charse ...
- http :请求响应报文-web服务-ajax-cors跨域
node:http 协议:请求响应报文-web服务-url与对象的转化-ajax-cors跨域 1 梳理重点 1.1搭建服务 注意: ① 站点创建完成后,需要通过node命令启动 ② 创建站点的代码如 ...
- HTTP的请求报文响应报文
回到文章总目录 一,HTTP解释 HTTP(hypertext transport protocol)协议 [超文本传输协议] 协议详细规定了浏览器和万维网服务器之间互相通信的规则 二,请求报文和响应 ...
- application/x-www-form-urlencoded接口响应报文中文乱码
1.如何处理乱码 在进行接口测试时,在用httpclient post请求时,对于Content-Type:application/json来说,在写测试脚本时只需要为头信息和post请求指定相应编码 ...
最新文章
- matlab图片插值数据_使用双线性插值法放大图像(matlab实现)
- 浅析丨AI安防产品发展现状与趋势分析
- PowerShell2.0之桌面计算机维护(八)关闭或重启远程计算机
- Learning to Rank 中Listwise关于ListNet算法讲授及实现
- b插到元素a之前python_python之路_前端基础之jQuery入门3
- Node.js中的回调解析
- 简单获取任意app的URL Schemes
- 飞康CEO:敢于向传统的灾备法则说“不”
- C语言工厂方法模式,工厂函数模式 (C语言实现)
- Python使用AES算法进行加解密
- 为何你仍是一名社畜码农?
- svn管理ad元件库_AD元器件库服务器管理指南
- macOS sierra 10.12 CORE Keygen系列注册机修复工具 CORE Patcher
- android.net.http.AndroidHttpClient Android6.0 API23以后失效
- iOS App Extensions之Share Extension
- 360 度测试:Kafka 会丢数据么?其高可用是否满足需求?
- linux原子锁原理,了解Linux的锁与同步、原子加(atomic_add)
- 织梦php调用模型,织梦dede新建模型中自定义联动类别调用
- 快速排序和二分查找时间复杂度详解
- Windows下用戶無法寫入和讀取