CSP定义
Content Security Policy(CSP)是一种Web安全机制,用于帮助防范和减轻特定类型的攻击,包括跨站脚本攻击和sql注入等。
它通过允许网站管理员定义和实施一系列安全策略,限制页面加载和执行的内容来源,以减少潜在的安全风险。CSP的实质是白名单制度,开发者明确告诉浏览器哪些外部资源可以加载和执行,可以从哪些url加载资源。它的实现和执行全部由浏览器完成,开发者只需提供配置。CSP是一个额外的安全层,用于检测并削弱某些特定类型的攻击,使WEB处于一个安全的运行环境中。
CSP如何使用
编写CSP策略
常见指令
default-src:定义默认的内容来源。
script-src:指定允许加载和执行JavaScript代码的来源。
style-src:指定允许加载和应用CSS样式表的来源。
img-src:指定允许加载图像的来源。
font-src:指定允许加载字体的来源。
connect-src:指定允许进行网络请求的来源。
frame-src:指定允许加载内嵌框架(如iframe)的来源。
media-src:指定允许加载媒体资源(如音频和视频)的来源。
例子
灭有具体规定只希望从网站自身加载资源,只希望允许从网站自身和指定网站加载脚本和样式表,并允许从任何来源加载图片
default-src 'self'; script-src 'self'; style-src 'self' 网址; img-src *;
设置CSP策略
HTML<meta>标签中设置
通过在HTML的<meta>
标签中设置,但这通常不是首选方法,因为HTTP头中的策略会覆盖<meta>
标签中的策略
在HTTP响应头中设置Content-Security-Policy
字段
这通常是通过服务器配置来完成的,具体取决于你使用的服务器软件(如Apache、Nginx、IIS等)。在你的 Nginx 配置文件中,使用 add_header
指令来设置 CSP:
例子
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 网址; img-src *;"
不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧