CSP 是一个强大的安全机制,它允许网站管理员控制浏览器能够为特定页面加载哪些资源。这有助于防止跨站脚本 (XSS) 攻击和其他代码注入攻击,因为它可以限制脚本、样式表、图片等内容的来源。
头名称: Content-Security-Policy
示例: Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.com; object-src 'none';
'self')。https://trusted.com 的。object-src 'none')。Strict-Transport-Security
HSTS 强制浏览器只能通过 HTTPS 与网站进行通信,从而防止中间人攻击 (man-in-the-middle attacks) 劫持用户通过不安全的 HTTP 连接访问网站的尝试。一旦浏览器收到 HSTS 头,它会在指定的时间内记住这个设置。
示例: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age: 浏览器记住该设置的时间(秒),这里是一年。includeSubDomains: 规则适用于所有子域名。preload: 允许网站被包含在浏览器 HSTS 预加载列表中,以确保首次访问也是安全的。这个头用于防止点击劫持 (clickjacking) 攻击,即恶意网站将您的网站嵌入到 <iframe> 或 <frame> 中,诱骗用户点击。
X-Frame-OptionsDENY: 不允许任何页面嵌入此页面。SAMEORIGIN: 只允许同源的页面嵌入此页面。ALLOW-FROM uri: (已废弃,安全性不如 DENY/SAMEORIGIN)允许指定源的页面嵌入。X-Frame-Options: DENY这个头用于防止浏览器进行 MIME 类型嗅探,从而避免一些安全漏洞。例如,如果服务器错误地将一个 JavaScript 文件标记为 text/plain,浏览器可能会根据文件内容将其识别为 JavaScript 并执行,这可能导致 XSS。
nosniff 会确保浏览器不会尝试将其作为 JavaScript 执行。这有助于缓解某些类型的跨站脚本 (XSS) 攻击
X-Content-Type-OptionsnosniffX-Content-Type-Options: nosniff这个头用于启用或禁用浏览器内置的 XSS 过滤器。然而,现代的 CSP 提供了更强大和灵活的 XSS 防御机制,并且这个头有时本身也可能引入安全问题,所以现在普遍不推荐使用它,而是优先配置 CSP。
X-XSS-Protection0: 禁用 XSS 过滤器。1; mode=block: 启用 XSS 过滤器,并在检测到攻击时阻止页面渲染。X-XSS-Protection: 0 (通常是为了确保其禁用,完全依赖 CSP)这个头控制浏览器在导航到其他页面时,如何发送 Referer (注意,是 Referer,不是 Referrer) 头信息。发送完整的 Referer 信息有时可能泄露敏感数据,比如 URL 中的会话 ID。
Referrer-Policyno-referrer: 永远不发送 Referer 头。same-origin: 只在同源请求时发送 Referer 头。strict-origin-when-cross-origin: 跨源请求只发送源(不包含路径和查询参数),同源请求发送完整 URL。Referrer-Policy: same-originOrigin: https://www.frontend-app.com: 安全相关头 (CORS)
Origin 头,指明请求的来源域。Origin 头,决定是否允许该跨域请求。这是浏览器实现的一种重要的沙箱安全机制,防止恶意网站未经许可访问其他域的资源。Referer: https://www.frontend-app.com/settings/profile: 安全相关头 (隐私/信息泄露)
Referrer-Policy 响应头,可以控制浏览器在发送 Referer 头时的策略,以增强隐私保护和避免信息泄露。Authorization: Bearer eyJhbGciOiJIUzI1Ni...: 安全相关头