一、CSP 内容安全策略(CSP)是一个更高的安全层,可帮助检测和缓解各种类型的民兵攻击,例如(跨站脚本(XSS),数据注入攻击,ClickJacking,ETC等)。
**跨站点脚本(XSS)**:它是一个漏洞,允许黑客在基本网站中注入民兵代码,并且用于使客户端执行该代码以获取敏感数据,例如Cookie,会话信息和特定于站点的信息由于Web应用程序未使用足够的验证或编码,因此用户的浏览器无法检测到恶意脚本不可信。
**数据注入攻击**:数据注入攻击是一种恶意代码,注入到网络中,该恶意代码从数据库中获取所有信息给攻击者,而其中的第一类是SQL注入。
**单击Jacking**:或“ UI补救攻击”是指攻击者诱使用户在单击顶层时诱使用户单击另一个使用多个透明或不透明层的页面上的按钮或链接。
CSP如何工作:它使用了指令概念,每个指令都必须指定可以从何处加载资源,从而防止浏览器从任何其他位置加载数据。
最常用的指令是:
1、default-src:默认的加载策略(JavaScript,图像,CSS,AJAX请求,ETC …)示例default-src ‘self’ cdn.example.com;
2、img-src:定义图像示例的源img-src ‘self’ img.example.com;
3、style-src:定义CSS文件示例的源style-src ‘self’ css.example.com;
4、script-src:定义JavaScript文件示例的源script-src ‘self’ js.example.com;
5、connect-src:为XMLHttpRequest(AJAX),WebSockets或EventSource定义有效的目标,如果它与主机建立了任何连接,这在这里是不允许的,那么浏览器将以400错误的示例进行响应connect-src ‘self’;
6、多标签指令定义: default-src ‘none’; script-src ‘self’; connect-src ‘self’; img-src ‘self’; style-src ‘self’;
二、CORS 跨域资源共享(CORS)是一种使用HTTP标头指定哪个外部来源可以访问本地资产以及如何访问本地资产的机制,这意味着我们可以为允许访问的跨域资源创建白名单。
CORS如何运作 1、当站点发出获取请求以从out服务器获取资源时,浏览器会添加一个包含源的标头,例如example Origin: http://www.example.com。
2、服务器接收预检请求,并在白名单中搜索有关给定来源的Access-Control-Allow-Origins,然后发送给浏览器选项调用,然后浏览器将确定实际请求是否可以安全发送,例如Access-Control-Allow-Origin: http://www.example.com否则此标头Access-Control-Allow-Origin: *将允许任何请求占用资源。
3、如果服务器指定方法,它将把请求方法与其示例进行比较Access-Control-Allow-Methods: PUT, DELETE。
|