csp是什么意思

CSP指的是内容安全策略,是一种浏览器安全机制,旨在缓解XSS和其他一些攻击。

它的工作原理是限制页面可以加载的资源(如脚本和图像),并限制页面是否可以由其他页面框住。若要启用CSP,响应需要包含一个HTTP响应标头,该标头使用包含策略的值调用。策略本身由一个或多个指令组成,用分号分隔。

CSP以白名单的机制对网站加载或执行的资源起作用。在网页中,这样的策略通过HTTP头信息或者meta元素定义。CSP虽然提供了强大的安全保护,但是也造成了如下问题:Eval及相关函数被禁用、内嵌的JavaScript代码将不会执行、只能通过白名单来加载远程脚本。

这些问题阻碍CSP的普及,如果要使用CSP技术保护自己的网站,开发者就不得不花费大量时间分离内嵌的JavaScript代码和做一些调整,参考文献汇总的Content Security Policy1.0研究的技术可以自动化分离代码和数据,帮助网站支持CSP技术避免潜在的跨站攻击。

csp是什么意思

CSP的分类

CSP有两类:Content-Security-Policy和 Content-Security-Policy-Report-Only。HTTP Content-Security-Policy头可以指定一个或多个资源是安全的,而Content-Security-Policy-Report-Only则是允许服务器检查(非强制)一个策略。多个头的策略定义由优先采用最先定义的。

Meta标签与HTTP头只是行式不同而作用是一致的。与HTTP头一样,优先采用最先定义的策略。如果HTTP头与Meta定义同时存在,则优先采用HTTP中的定义。

如果用户浏览器已经为当前文档执行了一个CSP的策略,则会跳过Meta的定义。如果META标签缺少content属性也同样会跳过。针对开发者草案中特别的提示一点:为了使用策略生效,应该将Meta元素头放在开始位置,以防止提高人为的CSP策略注入。

以上内容参考:百度百科-CSP