Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CSP阻止谷歌翻译_Php_Wordpress_Google Api_Header_Content Security Policy - Fatal编程技术网

Php 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

我正在使用一个插件通过谷歌翻译来翻译Wordpress网站。我已经为网站设置了内容安全策略,这将导致Wordpress插件无法翻译网站,因为CSP会阻止它。当CSP设置在网站上时,有没有办法启用Google translate功能?我在谷歌地图上也遇到了同样的问题,我通过将Google.com地址添加到CSP中解决了这个问题,但在translate中我不知道如何继续

CSP设置:

<?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真是太棒了!