如何在.htaccess中为带CDN的特定页面配置Content Security Policy
适配CDN的Content Security Policy配置示例
你的问题出在当前CSP未允许从example.cdn.net加载图片资源,以下是修正后的.htaccess配置:
Header set Content-Security-Policy "base-uri 'self'; default-src 'self' 'unsafe-inline'; frame-src https://youtube.com; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' https://example.cdn.net; form-action 'self'"
关键修改说明:
- 新增
img-src 'self' https://example.cdn.net;:明确允许从网站自身域名和指定CDN地址加载图片,直接解决CDN图片无法加载的问题 - 修正原配置语法错误:原
script-src字段里的'unsafe-inline;缺少闭合单引号,已补全为'unsafe-inline';,避免CSP规则因语法问题失效
额外提示:
如果你的CDN还提供其他类型资源(比如脚本、字体或样式文件),可在对应指令中追加CDN地址:
- 若CDN提供脚本:在
script-src后添加https://example.cdn.net - 若CDN提供字体:在
font-src后添加https://example.cdn.net
另外,'unsafe-inline'属于临时兼容方案,后续建议逐步移除页面内的内联脚本和样式,替换为外部文件后即可删除该规则,进一步提升网站安全性。
内容的提问来源于stack exchange,提问作者Vie
相关产品推荐
相关产品推荐

