Javascript 如何使用PHP标头方法在PHP中使用WordPress Nonces实现内容安全策略?

Javascript 如何使用PHP标头方法在PHP中使用WordPress Nonces实现内容安全策略?,javascript,php,wordpress,content-security-policy,nonce,Javascript,Php,Wordpress,Content Security Policy,Nonce,目前,我正试图在WordPress登录页上实施内容安全策略。我在PHP中使用以下标头方法来实现内容安全策略: header("Content-Security-Policy:default-src 'none'; script-src 'nonce-RandomSeq' 'nonce-hzthedtrh5' 'nonce-hjjftzrf56zf' ... ") 我正在尝试使用为内联Javascript代码创建随机nonce <?php $nonce = wp_create_nonce

目前,我正试图在WordPress登录页上实施内容安全策略。我在PHP中使用以下标头方法来实现内容安全策略:

header("Content-Security-Policy:default-src 'none'; script-src 'nonce-RandomSeq' 'nonce-hzthedtrh5' 'nonce-hjjftzrf56zf'  ... ")
我正在尝试使用为内联Javascript代码创建随机nonce

<?php
$nonce = wp_create_nonce( 'my-nonce' ); ?>

<script type="text/javascript" nonce="<?php echo $nonce; ?>">
  // some javascript code
</script>
不识别由wp nonce创建的随机nonce,并且不会执行给定的脚本

那么我做错了什么呢?

找到了解决方案:

PHP不接受单引号中的变量,如
'noce-“$nonce.”
解决方案是将CSP中的全部信息保存在外部字符串变量中:

$csp = "Content-Security-Policy: script-src  'nonce-".$nonce1."' 'nonce-".$nonce2."'...";
要将此变量包含到PHP标头方法中,请执行以下操作:

header( "{$csp}");
header( "{$csp}");