XSS防御之CSP原理学习

XSS防御之CSP原理学习

CSP(Content Security Policy)指的是内容安全策略,为了缓解很大一部分潜在的跨站脚本问题,浏览器的扩展程序系统引入了内容安全策略(CSP)的一般概念。这将引入一些相当严格的策略,会使扩展程序在默认情况下更加安全,开发者可以创建并强制应用一些规则,管理网站允许加载的内容。

CSP 本质上是建立白名单,规定了浏览器只能够执行特定来源的代码;即使发生了xss攻击,也不会加载来源不明的第三方脚本。

在网页中,CSP可以通过 HTTP 头信息或者 meta 元素定义。

CSP虽然提供了强大的安全保护,但是他也造成了如下问题:Eval及相关函数被禁用、内嵌的JavaScript代码将不会执行、只能通过白名单来加载远程脚本。

(1)使用HTTP的 Content-Security-Policy头部

在服务器端使用 HTTP的 Content-Security-Policy头部来指定你的策略

只能从同域下加载 :

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

Content-Security-Policy-Report-Only :收集报告,但没有限制请求

(2)使用meta标签

限制表单:


CSP: Content-Security-Policy详解

你可能感兴趣的:(XSS防御之CSP原理学习)