WordPress和CSP

时间:2018-09-28 10:39:34

标签: wordpress content-security-policy

有人用几个插件在dom中分散js来尝试在wordpress中保护标头(CSP)吗?

我正在尝试使用CSP增强标题,并删除script-src指令中的'unsafe-inline'。

一些静态js我能够用哈希值加载它们,但是当涉及到动态时,它变得很麻烦。我重写了一些将js吐出以包含现时值并在CSP中添加现时值的函数,但是每次有人添加行为类似于此的插件或更新修改后的插件时,我都必须重做它,因此这种方式不是很健壮。

除了允许内联并且从不更新插件之外,还有其他想法吗?

最佳

1 个答案:

答案 0 :(得分:-1)

使用.htaccess是将CSP与wordpress结合使用的更可靠的方法。只需在您的.htaccess文件中添加以下代码即可。有些插件可能仍然会损坏,因此请确保在下面添加插件的用途,例如googleapis等。这样做,您不必担心任何插件更新。

<IfModule mod_headers.c>
  Header set Content-Security-Policy "default-src 'self'; img-src 'self' http: https: 
  *.gravatar.com;"
</IfModule>

但是,如果您在前端使用它会破坏wordpress后端,那么要对其进行修复,只需将下面的代码添加到wp-admin/.htaccess

<IfModule mod_headers.c>
  Header set Content-Security-Policy "default-src 'self'; img-src 'self' data: http: 
  https: *.gravatar.com; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 
  'self' 'unsafe-inline' http: https: fonts.googleapis.com; font-src 'self' 
  data: http: 
  https: fonts.googleapis.com themes.googleusercontent.com;"
</IfModule>

参考:

Content Security Policy