2024年最新Nginx配置Http响应头安全策略_nginx content-security-policy(1),2024年最新网络安全开发框架

一、网安学习成长路线图

网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、网安视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

三、精品网安学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、网络安全源码合集+工具包

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、网络安全面试题

最后就是大家最关心的网络安全面试题板块
在这里插入图片描述在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
...

}


### 三、内容安全策略Content-Security-Policy(CSP)


`应对漏洞:XSS攻击`



> 
> Content-Security-Policy (CSP) 是一种网页安全策略,用于`减少和防止跨站点脚本 (XSS)、点击劫持等攻击`。CSP通过限制网页可以加载或执行的资源的来源来保护网站免受恶意代码的攻击。它可以通过HTTP头或网页中的标签来实现。  
>  CSP通过指定可信任的资源来源,如脚本、样式表、字体、图像和其他嵌入的内容,来限制网页中可以加载的内容。如果网页中引用了来自未被信任的源的资源,如恶意脚本或非法广告,浏览器将拒绝加载这些资源,从而提供额外的安全性。  
>  CSP还提供了其他功能,如报告机制,允许网站管理员获取有关被阻止或破坏的内容的报告,并通过这些报告来改进网站的安全性。
> 
> 
> 


在 Nginx 中配置 Content-Security-Policy,可以通过在配置文件中添加 `add_header` 指令来实现。



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://ajax.googleapis.com; style-src 'self' https://fonts.googleapis.com;";
    # 其他配置...
}

}


上述示例中,为所有请求设置了一个简单的 CSP 策略,允许从同一域名加载资源,并允许从 Google 的 AJAX API 和 Google 字体加载脚本和样式


#### 3.1CSP指令集及其说明




| 指令 | 说明 |
| --- | --- |
| default-src | 设置网站默认的安全策略,适用于未指定安全策略的资源。 |
| connect-src | 控制页面可以建立连接的来源,防止恶意站点通过连接发起攻击。 |
| font-src | 控制字体资源的加载来源,防止加载恶意字体文件。 |
| form-action | 控制表单提交的目标URL,防止跨站请求伪造(CSRF)攻击。 |
| frame-ancestors | 控制嵌套的frame或iframe的来源,防止点击劫持攻击。 |
| frame-src | 控制frame或iframe中加载的页面的来源,防止嵌套的恶意页面的攻击。 |
| image-src | 控制图片资源的加载来源,防止加载恶意图片文件。 |
| media-src | 控制媒体资源(如音频、视频)的加载来源,防止加载恶意媒体文件。 |
| object-src | 控制object标签和embed标签中加载的内容的来源,防止加载恶意内容。 |
| script-src | 控制JavaScript脚本的加载来源,防止执行恶意脚本。 |
| style-src | 控制CSS样式表的加载来源,防止加载恶意样式表。 |
| report-uri | 指定报告异常信息的URI,方便管理员及时发现和处理安全问题。 |
| upgrade-insecure-requests | 要求浏览器将所有HTTP请求升级为HTTPS请求,提高安全性。 |
| sandbox | 对页面中的某些元素进行限制,防止恶意代码对其进行操作。 |



> 
> **`注:以下是一些常见参数及其说明和示例。可以根据具体需求进行配置。`**
> 
> 
> 


#### 3.2`default-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 允许加载同源的资源 | `default-src 'self';` |
| `*` | 允许加载任意来源的资源 | `default-src '*';` |
| `none` | 不允许加载任何资源,是最严格的设置 | `default-src 'none';` |
| `unsafe-inline` | 允许内联脚本和样式,但存在安全风险 | `default-src 'unsafe-inline';` |
| `unsafe-eval` | 允许使用eval()函数执行代码,存在安全风险 | `default-src 'unsafe-eval';` |
| `strict-dynamic` | 只允许动态生成脚本和样式,不允许内联脚本和样式 | `default-src 'strict-dynamic';` |
| `https:` | 只允许加载HTTPS资源 | `default-src 'https:';` |
| `data:` | 允许加载data:协议的资源,如文件上传等 | `default-src 'data:';` |


以下是一个示例(`允许从同一域名加载资源`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "default-src 'self';";
    # 其他配置...
}

}


#### 3.3`connect-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 允许加载同源的资源 | `connect-src 'self';` |
| `*` | 允许加载任意来源的资源 | `connect-src '*';` |
| `none` | 不允许加载任何资源,是最严格的设置 | `connect-src 'none';` |
| `report-sample` | 要求浏览器报告所有连接请求的样本,用于调试和分析 | `connect-src 'report-sample';` |
| `unsafe-inline` | 允许内联脚本和样式,但存在安全风险 | `connect-src 'unsafe-inline';` |
| `unsafe-eval` | 允许使用eval()函数执行代码,存在安全风险 | `connect-src 'unsafe-eval';` |
| `strict-dynamic` | 只允许动态生成脚本和样式,不允许内联脚本和样式 | `connect-src 'strict-dynamic';` |
| `https:` | 只允许加载HTTPS资源 | `connect-src 'https:';` |
| `data:` | 允许加载data:协议的资源,如文件上传等 | `connect-src 'data:';` |


以下是一个示例(`允许从 example.com 的 API 加载资源`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "connect-src 'self' https://api.example.com;";
    # 其他配置...
}

}


#### 3.4`font-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 允许加载同源的资源 | `font-src 'self';` |
| `*` | 允许加载任意来源的资源 | `font-src '*';` |
| `none` | 不允许加载任何资源,是最严格的设置 | `font-src 'none';` |
| `data:` | 允许加载data:协议的资源,如文件上传等 | `font-src 'data:';` |
| `https:` | 只允许加载HTTPS资源 | `font-src 'https:';` |
| `report-sample` | 要求浏览器报告所有字体请求的样本,用于调试和分析 | `font-src 'report-sample';` |


以下是一个示例(`允许从 Google 字体 API 加载字体资源`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "font-src 'self' https://fonts.googleapis.com;";
    # 其他配置...
}

}


#### 3.5`form-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 允许表单提交到同源的URL | `form-action 'self';` |
| `*` | 允许表单提交到任意URL | `form-action '*';` |
| `none` | 不允许表单提交,是最严格的设置 | `form-action 'none';` |
| `report-sample` | 要求浏览器报告所有表单提交的样本,用于调试和分析 | `form-action 'report-sample';` |


以下是一个示例(`允许从同一域名加载表单资源`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "form-src 'self' https://example.com/forms;";
    # 其他配置...
}

}


#### 3.6`frame-ancestors`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 允许嵌套的frame或iframe加载同源的资源 | `frame-ancestors 'self';` |
| `*` | 允许嵌套的frame或iframe加载任意来源的资源 | `frame-ancestors '*';` |
| `none` | 不允许嵌套的frame或iframe加载任何资源,是最严格的设置 | `frame-ancestors 'none';` |
| `report-sample` | 要求浏览器报告所有嵌套的frame或iframe的来源样本,用于调试和分析 | `frame-ancestors 'report-sample';` |


以下是一个示例(`禁止任何框架嵌套`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "frame-ancestors 'none';";
    # 其他配置...
}

}


#### 3.7`frame-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 允许嵌套的frame或iframe加载同源的资源 | `frame-src 'self';` |
| `*` | 允许嵌套的frame或iframe加载任意来源的资源 | `frame-src '*';` |
| `none` | 不允许嵌套的frame或iframe加载任何资源,是最严格的设置 | `frame-src 'none';` |
| `report-sample` | 要求浏览器报告所有嵌套的frame或iframe的来源样本,用于调试和分析 | `frame-src 'report-sample';` |
| `https:` | 只允许嵌套的frame或iframe加载HTTPS资源 | `frame-src 'https:';` |
| `data:` | 允许嵌套的frame或iframe加载data:协议的资源,如文件上传等 | `frame-src 'data:';` |


以下是一个示例(`允许从同一域名加载框架资源`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "frame-src 'self' https://example.com/frames;";
    # 其他配置...
}

}


#### 3.8`image-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 允许加载同源的图片资源 | `image-src 'self';` |
| `*` | 允许加载任意来源的图片资源 | `image-src '*';` |
| `none` | 不允许加载任何图片资源,是最严格的设置 | `image-src 'none';` |
| `report-sample` | 要求浏览器报告所有图片请求的样本,用于调试和分析 | `image-src 'report-sample';` |
| `data:` | 允许加载data:协议的图片资源,如文件上传等 | `image-src 'data:';` |
| `https:` | 只允许加载HTTPS协议的图片资源 | `image-src 'https:';` |


以下是一个示例(`允许从同一域名加载框架资源`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "img-src 'self' https://example.com/images";
    # 其他配置...
}

}


#### 3.9`media-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 允许加载同源的媒体资源 | `media-src 'self';` |
| `*` | 允许加载任意来源的媒体资源 | `media-src '*';` |
| `none` | 不允许加载任何媒体资源,是最严格的设置 | `media-src 'none';` |
| `report-sample` | 要求浏览器报告所有媒体请求的样本,用于调试和分析 | `media-src 'report-sample';` |
| `data:` | 允许加载data:协议的媒体资源,如文件上传等 | `media-src 'data:';` |
| `https:` | 只允许加载HTTPS协议的媒体资源 | `media-src 'https:';` |


以下是一个示例(`允许从同一域名加载媒体资源`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "media-src 'self' https://example.com/media;";
    # 其他配置...
}

}


#### 3.10`object-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 允许加载同源的对象资源 | `object-src 'self';` |
| `*` | 允许加载任意来源的对象资源 | `object-src '*';` |
| `none` | 不允许加载任何对象资源,是最严格的设置 | `object-src 'none';` |
| `report-sample` | 要求浏览器报告所有对象请求的样本,用于调试和分析 | `object-src 'report-sample';` |
| `data:` | 允许加载data:协议的对象资源,如文件上传等 | `object-src 'data:';` |
| `https:` | 只允许加载HTTPS协议的对象资源 | `object-src 'https:';` |


以下是一个示例(`禁止从任何来源加载对象资源`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "object-src 'none';";
    # 其他配置...
}

}


#### 3.11`script-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 只允许从同源加载脚本。 | `script-src 'self'` |
| `unsafe-inline` | 允许内联脚本,但可能会存在安全风险。 | `script-src 'unsafe-inline'` |
| `https://example.com/js/` | 只允许从指定的URL加载脚本。 | `script-src 'https://example.com/js/'` |
| `strict-dynamic` | 如果脚本是通过动态方式插入到页面中的,则不允许执行该脚本。如果脚本是静态的,则允许执行。 | `script-src 'strict-dynamic'` |
| `nonce` (仅适用于HTTPS) | 要求脚本必须具有特定的随机值(nonce),以防止重复攻击。 | `script-src 'nonce https://example.com/js/'` |
| `hash` (仅适用于HTTPS) | 要求脚本必须具有特定的哈希值,以防止重复攻击。通常与nonce一起使用。 | `script-src 'hash https://example.com/js/'` |
| `report-sample` (仅适用于HTTPS) | 要求服务器在响应头中包含一个样本,以便CSP能够检测到潜在的XSS攻击。通常与report-uri指令一起使用。 | `script-src 'report-sample https://example.com/js/'` |
| `upgrade-insecure-requests` (仅适用于HTTPS) | 要求将所有不安全的请求升级为HTTPS请求,以提高安全性。通常与report-uri指令一起使用。 | `script-src 'upgrade-insecure-requests https://example.com/js/'` |
| `blockallmixedcontent` (仅适用于HTTPS) | 要求将所有混合内容的请求升级为HTTPS请求,以提高安全性。通常与report-uri指令一起使用。 | `script-src 'blockallmixedcontent https://example.com/js/'` |


以下是一个示例(`允许从同一域名加载资源`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "script-src 'self' https://ajax.googleapis.com;";
    # 其他配置...
}

}


#### 3.12`style-src`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `self` | 只允许从同源加载样式表。 | `style-src 'self'` |
| `unsafe-inline` | 允许内联样式,但可能会存在安全风险。 | `style-src 'unsafe-inline'` |
| `https://example.com/css/` | 只允许从指定的URL加载样式表。 | `style-src 'https://example.com/css/'` |
| `strict-dynamic` | 如果样式表是通过动态方式插入到页面中的,则不允许执行该样式表。如果样式表是静态的,则允许执行。 | `style-src 'strict-dynamic'` |
| `nonce` (仅适用于HTTPS) | 要求样式表必须具有特定的随机值(nonce),以防止重复攻击。 | `style-src 'nonce https://example.com/css/'` |
| `hash` (仅适用于HTTPS) | 要求样式表必须具有特定的哈希值,以防止重复攻击。通常与nonce一起使用。 | `style-src 'hash https://example.com/css/'` |
| `report-sample` (仅适用于HTTPS) | 要求服务器在响应头中包含一个样本,以便CSP能够检测到潜在的XSS攻击。通常与report-uri指令一起使用。 | `style-src 'report-sample https://example.com/css/'` |
| `upgrade-insecure-requests` (仅适用于HTTPS) | 要求将所有不安全的请求升级为HTTPS请求,以提高安全性。通常与report-uri指令一起使用。 | `style-src 'upgrade-insecure-requests https://example.com/css/'` |
| `blockallmixedcontent` (仅适用于HTTPS) | 要求将所有混合内容的请求升级为HTTPS请求,以提高安全性。通常与report-uri指令一起使用。 | `style-src 'blockallmixedcontent https://example.com/css/'` |


以下是一个示例(`允许从 Google 的 AJAX API加载样式`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "style-src 'self' https://fonts.googleapis.com;";
    # 其他配置...
}

}


#### 3.13`report-uri`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `none` | 不发送任何报告,是最严格的设置 | `report-uri none;` |
| `self` | 向同源的URL发送报告 | `report-uri self;` |
| `*` | 向任意URL发送报告 | `report-uri *;` |
| `http://example.com/report` | 向指定的URL发送报告 | `report-uri http://example.com/report;` |
| `https://csp.example.com/report?source=%s&hash=%s` | 向指定的安全站点发送报告,同时传递一些额外的信息,如来源和哈希值等 | `report-uri https://csp.example.com/report?source=%s&hash=%s;` |


以下是一个示例(`添加了一个 report-uri 指令,用于指定报告 CSP 违规的 URL`):



server {
listen 80;
server_name example.com;

location / {
    add_header Content-Security-Policy "report-uri /csp-report.php;";
    # 其他配置...
}

}


#### 3.14`upgrade-insecure-requests`指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `none` | 不升级不安全的请求,是最严格的设置 | `upgrade-insecure-requests none;` |
| `1` | 将HTTP升级请求(如HTTP/1.0到HTTP/1.1)视为不安全,不允许升级 | `upgrade-insecure-requests 1;` |
| `2` | 将HTTPS降级请求(如HTTPS到HTTP)视为不安全,不允许降级 | `upgrade-insecure-requests 2;` |
| `3` | 将不安全的跨域请求(如使用document.domain)视为不安全,不允许跨域请求 | `upgrade-insecure-requests 3;` |


在 Nginx 中,可以通过以下配置来启用或禁用 upgrade-insecure-requests 指令:


1. 启用 upgrade-insecure-requests 指令:



http {
add_header Content-Security-Policy “upgrade-insecure-requests”;

}


2. 禁用 upgrade-insecure-requests 指令:



http {
add_header Content-Security-Policy “default-src ‘self’; upgrade-insecure-requests off”;

}


注意:在生产环境中,建议启用 upgrade-insecure-requests 指令,以防止潜在的安全风险。


#### 3.15`sandbox`指令的参数、说明和示例


`sandbox` 为特定的元素或脚本添加额外的限制和安全策略,防止恶意代码执行和攻击行为。  
 `sandbox` 指令可以包含以下关键字进行配置:




| 关键字 | 说明 |
| --- | --- |
| `allow-scripts` | 是否允许执行脚本 |
| `allow-same-origin` | 是否允许同源脚本执行 |
| `allow-top-navigation` | 是否允许导航到顶级域名 |
| `allow-forms` | 是否允许提交表单 |
| `allow-pointer-lock` | 是否允许启用鼠标锁定 |
| `allow-popups` | 是否允许弹出窗口 |
| `allow-presentation` | 是否允许使用全屏显示API |
| `allow-orientation-lock` | 是否允许锁定屏幕方向 |
| `allow-downloads` | 是否允许下载文件 |
| `allow-modals` | 是否允许使用模态对话框 |
| `allow-user-activation` | 是否允许用户激活内容(例如点击链接) |
| `require-same-origin` | 要求同源脚本执行 |
| `require-cors` | 要求跨域资源共享(CORS) |
| `nonce` | 指定一个随机数,用于防止重复提交攻击 |


1.示例:




上面的示例中,通过在 `iframe` 标签中添加 `sandbox` 属性并设置相应的值,限制了该 `iframe` 中的脚本只能从同源加载,并且不允许导航到顶级域名之外。这样可以有效地防止恶意代码的注入和攻击行为的发生。


2.在 Nginx 中,可以使用 `add_header` 指令来设置 Content Security Policy(CSP)的 `sandbox` 属性。以下是一个示例:



location / {
add_header Content-Security-Policy “sandbox allow-scripts allow-top-navigation”;
# 其他配置…
}


上面的示例中,通过在 `location` 块中使用 `add_header` 指令,将 `Content-Security-Policy` 设置为 `"sandbox allow-scripts allow-top-navigation"`。这将限制该位置中的脚本只能从同源加载,并且不允许导航到顶级域名之外。这样可以有效地防止恶意代码的注入和攻击行为的发生。



> 
> 注意:此配置会屏蔽范围外的脚本,如果是已经上线的系统,需要考虑下是否有引入外部脚本的情况,避免盲目增加配置,导致生产事故。
> 
> 
> 


### 四、X-Content-Type-Options


`·应对漏洞:内容嗅探攻击`



> 
> 约定资源的响应头,屏蔽内容嗅探攻击。  
>  网络请求中,每个资源都有自己的类型,比如Content-Type:text/html 、image/png、 text/css。但是有一些资源的类型是未定义或者定义错了,导致浏览器会猜测资源类型,尝试解析内容,从而给了脚本攻击可乘之机。比如利用一个图片资源去执行一个恶意脚本。
> 
> 
> 



> 
> X-Content-Type-Options 用于指示浏览器是否应该执行预检请求`(preflight request)`来验证跨域请求的类型。它有两个可选的值:
> 
> 
> 1. nosniff:表示浏览器不应该尝试猜测请求的内容类型,而是严格按照请求头中的 Content-Type 字段来判断。这是推荐的做法,因为它可以防止恶意网站利用旧版浏览器的 MIME 嗅探漏洞。浏览器严格匹配资源类型,会拒绝加载错误或者不匹配的资源类型。  
>  注:网上看到一个人用流的方式从后台给前台传图片,大概代码由于后端未指定资源类型,导致增加该配置后无法显示图片
> 2. sniff:表示浏览器可以根据请求的 URL 和 HTTP 方法来猜测请求的内容类型。这个值已经不推荐使用,因为它可能导致安全问题。
> 
> 
> 


#### 4.1`nosniff` 指令的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `nosniff` | 指示浏览器不要尝试猜测内容类型,必须显式指定内容类型 | `X-Content-Type-Options: nosniff` |
| `nosniff=1` | 同上,但允许旧版 Internet Explorer 使用 MIME 类型推断 | `X-Content-Type-Options: nosniff=1` |
| `nosniff=0` | 允许浏览器尝试猜测内容类型,可能导致安全问题 | `X-Content-Type-Options: nosniff=0` |
| `nosniff=1; upgrade` | 同上,但允许旧版 Internet Explorer 尝试升级到更安全的内容类型 | `X-Content-Type-Options: nosniff=1; upgrade` |
| `nosniff=0; upgrade` | 同上,但允许浏览器尝试升级到更安全的内容类型 | `X-Content-Type-Options: nosniff=0; upgrade` |


#### 4.2`nosniff` 的`nginx配置`示例


为整个站点启用这个选项,可以在 server 块中添加



server {
listen 80;
server_name example.com;

add_header X-Content-Type-Options "nosniff";

# 其他配置
...

}


为特定的 location 启用这个选项,配置如下



server {
listen 80;
server_name example.com;

location / {
    add_header X-Content-Type-Options "nosniff";

    # 其他配置
    ...
}

}


### 五、X-XSS-Protection


`应对漏洞:XSS攻击`  
 开启浏览器XSS防护(原理不明,待研究.好像是浏览器自己有个filter,能过滤xss攻击脚本)。开启后不会影响业务,无特殊情况,建议开启,以防止潜在的安全风险。


#### 5.1`X-XSS-Protection` 的参数、说明和示例




| 参数 | 说明 | 示例 |
| --- | --- | --- |
| `0` | 禁用 XSS 过滤器。注意,这会降低安全性,不建议使用。 | `X-XSS-Protection: 0;` |
| `1` | 启用浏览器内置的 XSS 过滤器(通常为 Internet Explorer)。如果检测到跨站脚本攻击,浏览器将清除页面(包括 JavaScript 和 Cookie)。 | `X-XSS-Protection: 1;` |
| `1; mode=block` | 同上,但在检测到跨站脚本攻击时,阻止页面加载,而不是清除页面。 | `X-XSS-Protection: 1; mode=block;` |
| `1; report=<reporting-uri>` | 启用浏览器内置的 XSS 过滤器,并在检测到跨站脚本攻击时,将报告发送到指定的 URI。注意,不是所有浏览器都支持此功能。 | `X-XSS-Protection: 1; report=<reporting-uri>;` |
| `1; report=<reporting-uri>; mode=block` | 同上,但在检测到跨站脚本攻击时,阻止页面加载,而不是清除页面,并将报告发送到指定的 URI。注意,不是所有浏览器都支持此功能。 | `X-XSS-Protection: 1; report=<reporting-uri>; mode=block;` |
| `1; feature=<http-header-name>` | 启用浏览器内置的 XSS 过滤器,并在检测到跨站脚本攻击时,将报告发送到指定的 HTTP 头字段。注意,不是所有浏览器都支持此功能。 | `X-XSS-Protection: 1; feature=<http-header-name>;` |
| `1; feature=<http-header-name>; mode=block` | 同上,但在检测到跨站脚本攻击时,阻止页面加载,而不是清除页面,并将报告发送到指定的 HTTP 头字段。注意,不是所有浏览器都支持此功能。 | `X-XSS-Protection: 1; feature=<http-header-name>; mode=block;` |


#### 5.2`X-XSS-Protection` 的`nginx配置`示例


1. 启用 X-XSS-Protection:



http {
add_header X-XSS-Protection “1; mode=block”;

}


2. 禁用 X-XSS-Protection:



http {
add_header X-XSS-Protection “0”;

}


### 六、X-Frame-Options


`应对漏洞:点击劫持`


### 给大家的福利


**零基础入门**


对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


![](https://img-blog.csdnimg.cn/img_convert/95608e9062782d28f4f04f821405d99a.png)


同时每个成长路线对应的板块都有配套的视频提供:


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a91b9e8100834e9291cfcf1695d8cd42.png#pic_center)


因篇幅有限,仅展示部分资料


网络安全面试题


![](https://img-blog.csdnimg.cn/img_convert/80674985176a4889f7bb130756893764.png)


绿盟护网行动


![](https://img-blog.csdnimg.cn/img_convert/9f3395407120bb0e1b5bf17bb6b6c743.png)


还有大家最喜欢的黑客技术


![](https://img-blog.csdnimg.cn/img_convert/5912337446dee53639406fead3d3f03c.jpeg)


**网络安全源码合集+工具包**


![](https://img-blog.csdnimg.cn/img_convert/5072ce807750c7ec721c2501c29cb7d5.png)


![](https://img-blog.csdnimg.cn/img_convert/4a5f4281817dc4613353c120c9543810.png)

**所有资料共282G**,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值