Websec&CSP

csp是什么?

csp有什么用?

csp怎样用?

csp: content-security-policy

一、csp是什么?

内容安全策略(Content Security Policy,简称CSP)是一种以可信白名单作机制,来限制网站中是否可以包含某来源内容。

由于浏览器支持问题,出现三个版本csp(建议三个都配上)

Content-Security-Policy
X-Content-Security-Policy
X-WebKit-CSP

二、csp有什么用?

通过http请求header 指定页面加载资源策略,用于防御xss攻击。

http://content-security-policy.com/

helps you reduce XSS risks on modern browsers by declaring what dynamic resources are allowed to load via a HTTP Header

http://www.w3.org/TR/CSP2/#intro

This document defines Content Security Policy, a mechanism web applications can use to mitigate a broad class of content injection vulnerabilities, such as cross-site scripting (XSS). Content Security Policy is a declarative policy that lets the authors (or server administrators) of a web application inform the client about the sources from which the application expects to load resources.

三、csp怎么用?

根据自己的策略(是否允许页内js执行,是否允许站外js加载,是否允许eval……)写好csp配置,然后将它添加到http请求header。

在线配置指导:http://cspisawesome.com/

如何添加到header中:

a. 服务端程序设置header

服务端设置header是最普通的做法,例如php的header函数,servlet的 response.setHeader()等;

b.web服务器设置header(推荐)

web服务器自定义header ,实现在web安全层统一处理;

c.页面meta设置header(不推荐)

页面meta重在对页面的描述,并且经过实际测试在meta设置csp对ie和firefox不生效(chrome、safari有效)

四、配置详解

未完待续