Directus+EditorJS嵌入YouTube视频遭遇CSP拦截问题
解决Directus + EditorJS嵌入YouTube视频时的CSP内联脚本错误
你的错误提示明确指向script-src规则拦截了内联资源,仅配置frame-src无法解决问题,需要针对script-src调整CSP规则,具体操作如下:
更新.env文件的CSP配置
保留已有的frame-src配置,同时添加script-src规则,允许必要的内联脚本和YouTube相关资源:CONTENT_SECURITY_POLICY_DIRECTIVES__FRAME_SRC="array:'self', 'https://www.youtube.com', 'https://www.youtube-nocookie.com'" CONTENT_SECURITY_POLICY_DIRECTIVES__SCRIPT_SRC="array:'self', 'unsafe-inline', 'https://www.youtube.com'"其中
'unsafe-inline'用于临时放行内联脚本,若追求更高安全性,后续可参考Directus文档配置CSP nonce,为内联脚本添加合法标识;额外加入youtube-nocookie.com是为了兼容无Cookie的YouTube嵌入链接。重启Directus服务
修改.env后必须重启服务,确保新的CSP规则生效。验证修复效果
重启后打开浏览器开发者工具的Console面板,刷新页面并尝试嵌入YouTube视频,确认是否仍有CSP报错。
内容的提问来源于stack exchange,提问作者Vâmsi Madduluri
相关产品推荐
相关产品推荐

