Content Security Policy (CSP) 主要用于防范网站被XSS攻击,其使用方式如下:
- 在HTML头部添加对CSP的声明,例如:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'">
这个声明表示只允许该网站自身加载资源,script标签只允许加载self和inline脚本。
- 调整CSP策略以适应不同的应用程序。
例如,在应用程序中使用了第三方JavaScript库,则需要允许该库的脚本被加载。在这种情况下,可以像对于self一样设置需要允许的源,例如:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://cdn.example.com">
该声明表示只允许从cdn.example.com加载脚本,而不是从网站自身或其他来源加载。
- CSP还有其他的一些指令可以使用,例如:
- connect-src: 允许与外部资源建立连接的源
- style-src: 允许从哪些源加载CSS样式
- img-src: 允许从哪些源加载图片
以上仅仅是CSP的基础介绍,还有其他的一些高级功能需要进一步的学习,如缓解分类攻击等,建议在学习之前先了解CSP的基本概念,并熟悉其各种指令的用法。