Php CSP阻止谷歌翻译
我正在使用一个插件通过谷歌翻译来翻译Wordpress网站。我已经为网站设置了内容安全策略,这将导致Wordpress插件无法翻译网站,因为CSP会阻止它。当CSP设置在网站上时,有没有办法启用Google translate功能?我在谷歌地图上也遇到了同样的问题,我通过将Google.com地址添加到CSP中解决了这个问题,但在translate中我不知道如何继续 CSP设置:Php CSP阻止谷歌翻译,php,wordpress,google-api,header,content-security-policy,Php,Wordpress,Google Api,Header,Content Security Policy,我正在使用一个插件通过谷歌翻译来翻译Wordpress网站。我已经为网站设置了内容安全策略,这将导致Wordpress插件无法翻译网站,因为CSP会阻止它。当CSP设置在网站上时,有没有办法启用Google translate功能?我在谷歌地图上也遇到了同样的问题,我通过将Google.com地址添加到CSP中解决了这个问题,但在translate中我不知道如何继续 CSP设置: <?php header("Content-Security-Policy: default-src 'se
<?php
header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.google.com; img-src 'self' data:; style-src 'self' 'unsafe-inline' https://www.google.com; font-src 'self' data:; object-src 'none'; frame-src https://www.google.com; ");
?>
您需要将您希望允许的每个域添加到CSP头中:
https://translate.google.com
和https://www.google.com
它们不是一回事
https://translate.google.com
和https://translate.googleapis.com/
它们不是一回事
尝试:
<?php
header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.google.com https://translate.google.com; img-src 'self' data:; style-src 'self' 'unsafe-inline' https://www.google.com; font-src 'self' data:; object-src 'none'; frame-src https://www.google.com; ");
?>
你的插件是如何联系谷歌翻译的?(您当前为脚本、CSS和iframe添加了google.com
,但对于ajax请求将被阻止,如果您想启用它,请添加connectsrc
)。为CSP块添加完整的错误日志可能有用您在控制台中看到的错误是什么?@DaImTo(索引):1拒绝加载脚本的https://translate.google.com/translate_a/element.js?cb=GoogleLanguageTranslatorInit'因为它违反了以下内容安全策略指令:“脚本src'self''不安全内联”https://www.google.com https://translate.googleapis.com/。请注意,未显式设置“script src elem”,因此“script src”用作回退。
使用“unsafe inline”“首先击败了使用CSP的目的,可悲的是,如果没有不安全的内联,google translate就无法工作,因为他们在页面中内联添加脚本,google真是太棒了!