📜  安全标头 - 服务器客户端 (1)

📅  最后修改于: 2023-12-03 15:09:23.066000             🧑  作者: Mango

安全标头 - 服务器客户端

在 Web 开发中,安全标头是一种发送给客户端的 HTTP 头信息,用于增加 Web 应用程序的安全性。安全标头能够保护 Web 应用程序免受各种攻击,如 XSS、CSRF、点击劫持等。

常见的安全标头

以下是一些常见的安全标头:

Content-Security-Policy

Content-Security-Policy 用于防止 XSS 攻击和其他恶意注入攻击。该标头告诉浏览器只允许加载指定来源的资源,例如脚本、样式表、图像等。例子:

Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-2726c7f26c';
X-XSS-Protection

X-XSS-Protection 是一个 Internet Explorer 和 Chrome 浏览器专用的 HTTP 响应头信息,用于防止网页被 XSS 攻击。该标头启用浏览器内置的 XSS 过滤器,可以防止一些基本 XSS 攻击。例子:

X-XSS-Protection: 1; mode=block
X-Content-Type-Options

X-Content-Type-Options 用于防止浏览器 MIME 劫持攻击。MIME 类型是 Web 服务器告诉浏览器访问的文件类型的一种标识方式。该标头的值可以从以下三种中选择:

  • nosniff:浏览器将忽略响应报文头中的 content-type 信息;
  • nosniff + type:浏览器将会检查响应报文头中的 content-type 信息,并利用该信息进行 MIME 类型的验证;
  • type:该值等同于 nosniff + type。例子:
X-Content-Type-Options: nosniff
X-Frame-Options

X-Frame-Options 告诉浏览器,网站是否允许嵌入到其他网站中。该标头的值可以从以下三种中选择:

  • DENY:不允许嵌入;
  • SAMEORIGIN:仅允许同域名下的网站嵌入;
  • ALLOW-FROM uri:仅允许特定的网站嵌入。例子:
X-Frame-Options: DENY
Referrer-Policy

Referrer-Policy 控制浏览器在 HTTP 请求头中传递 Referrer 信息的方式。当用户从一个网站跳转到另一个网站时,Referrer 信息可以告诉新网站来自哪个网站。该标头的值可以从以下几种中选择:

  • no-referrer:不传递 Referrer 信息;
  • no-referrer-when-downgrade:只在 HTTPS 连接的情况下传递 Referrer 信息;
  • origin:仅传递当前网页的 origin 部分;
  • origin-when-cross-origin:在同源请求中传递完整 Referrer,跨源请求只传递 origin 部分;
  • same-origin:仅在同源请求中传递完整 Referrer;
  • strict-origin:仅在同源 HTTPS 请求中传递完整 Referrer;
  • strict-origin-when-cross-origin:在 HTTPS 请求中传递完整 Referrer,跨源请求仅传递 origin 部分;
  • unsafe-url:总是传递完整 Referrer。例子:
Referrer-Policy: strict-origin
总结

安全标头是一种增加 Web 应用程序安全性的方法。各种安全标头可以相互配合使用,增强 Web 应用程序的安全性。因此,在 Web 应用程序开发中,使用安全标头是极为必要的。