当前位置:首页 > Web开发 > 正文

为了提高安全性而在HTTP响应头中可以使用的各种响应头字段

2024-03-31 Web开发

本文介绍在Web处事器做出响应时,为了提高安适性而在HTTP响应头中可以使用的各类响应头字段。由于部分浏览器中有可能对某些字段或选项不供给撑持,所以在使用这些字段时请先确认客户端环境。

X-Frame-Options

该响应头顶用于控制是否在浏览器中显示frame或iframe中指定的页面,,主要用来防备Clickjacking(点击劫持)打击。

X-Frame-Options: SAMEORIGIN

DENY 禁止显示frame内的页面(即使是同一网站内的页面)

SAMEORIGIN 允许在frame内显示来自同一网站的页面,禁止显示来自其他网站的页面

ALLOW-FROM origin_uri允许在frame内显示来自指定uri的页面(当允许显示来自于指定网站的页面时使用)

X-Content-Type-Options

如果从script或stylesheet读入的文件的MIME类型与指定MIME类型不匹配,不允许读取该文件。用于防备XSS等跨站脚本打击。

X-Frame-Options: nosniff X-XSS-Protection

用于启用浏览器的XSS过滤成果,以防备XSS跨站脚本打击。

X-XSS-Protection: 1; mode=block

禁用XSS过滤成果

启用XSS过滤成果

Content-Security-Policy

用于控制当外部资源不成信赖时不被读取。用于防备XSS跨站脚本打击或数据注入打击(但是,如果设定不当,则网站中的部分脚本代码有可能掉效)。

之前的字段名为X-Content-Security-Policy

Content-Security-Policy: default-src ‘self‘

default-src ‘self‘ 允许读取来自于同源(域名+主机+端标语)的所有内容

default-src ‘self‘ *.example.com允许读取来自于指定域名及其所有子域名的所有内容

X-Permitted-Cross-Domain-Policies

用于指定当不能将“crossdomain.xml”文件(当需要从另外域名中的某个文件中读取Flash内容时用于进行须要设置的计谋文件)安排在网站根目录等场合时采纳的替代计谋。

X-Permitted-Cross-Domain-Policies: master-only

master-only 只允许使用主计谋文件(/crossdomain.xml)

Strict-Transport-Security

用于通知浏览器只能使用HTTPS协议访谒网站。用于将HTTP网站重定向到HTTPS网站。

Strict-Transport-Security: max-age=31536000; includeSubDomains

max-age 用于改削STS的默认有效时间。

includeSubDomains 用于指定所有子域名同样使用该计谋。

Access-Control-Allow-Origin等CORS相关字段

当使用XMLHttpRequest从其他域名中获取资源进行跨域通信时使用。

Access-Control-Allow-Origin: Access-Control-Allow-Methods: POST, GET, OPTIONS Access-Control-Allow-Headers: X-TRICORDER Access-Control-Max-Age: 1728000

上述代码用于设定与“”进行跨域通信措置惩罚惩罚,允许使用POST, GET, OPTIONS要领,在发送的请求头中添加X-TRICORDER字段,通信超不时间为1,728,00秒。

X-Download-Options

用于安排直接打开用户下载文件。

X-Download-Options: noopen

noopen 用于指定IE 8以上版本的用户不打开文件而直接生存文件。不才载对话框中不显示“打开”选项。

Set-Cookie

用于设置Cookie。

Set-Cookie: name=value; secure; HttpOnly

secure 只在进行HTTP通信时发送Cookie。

HttpOnly 指定不能从JavaScript脚本代码访谒Cookie值。

虽然path属性用于指定Cooki发送路径,但是不能被作为一种安适手段。

domain属性具有后方一致特性,出于安适考虑最好不要使用该属性,除非明确指定向多个域发送Cookie。

Cache-Control

指定浏览器的缓存方法,通过逗号分隔断绝分手。

Cache-Control: no-cache, no-store, must-revalidate

no-cache 指定处事器端不缓存数据。

no-store 指定不能在本地缓存中生存数据。

must-revalidate 指定处事器端可以缓存数据,但是必需对数据进行确认。

pragma

用于与HTTP/1.0进行向后兼容的响应头字段,原本只被使用在客户端请求头中。与“Cache-Control: no-cache”结合使用。

pragma: no-cache

no-cache 客户端要求所有中间处事器不能缓存数据。

expires

指定数据的有效时间。不但愿缓存数据时可以将该字段值与Date字段值指定为不异值或者将该字段值指定为“-1”。

expires: -1 content-type

指定实体内东西的媒体类型(MediaType)。在charset关键字中指定文字编码格局。

content-type: text/html;charset=utf-8 HTTP响应头的设定要领

在Apache处事器中指定响应头时,需要在httpd.conf文件中将下述模块设定为有效状态。

LoadModule headers_module modules/mod_headers.so

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31860.html