gpt4 book ai didi

javascript - 如何使用 PHP header-method 在 PHP 中使用 WordPress Nonces 实现内容安全策略?

转载 作者:行者123 更新时间:2023-11-30 21:05:49 24 4
gpt4 key购买 nike

目前我正在尝试在 WordPress 登陆页面上实现内容安全策略。我在 PHP 中使用以下 header 方法来实现内容安全策略:

header("Content-Security-Policy:default-src 'none'; script-src 'nonce-RandomSeq' 'nonce-hzthedtrh5' 'nonce-hjjftzrf56zf'  ... ")

我正在尝试使用 WordPress Nonce为内联 Javascript 代码创建随机随机数

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

<script type="text/javascript" nonce="<?php echo $nonce; ?>">
// some javascript code
</script>

当我用像“435234JHHJK2”这样的字符串指定随机数时,这个例子有效,但是当我尝试像这样在标题中放置一个变量时:

header("Content-Security-Policy:default-src 'none'; script-src 'nonce-".$nonce."' 'nonce-hzthedtrh5' 'nonce-hjjftzrf56zf'  ... ")

由 wp-nonce 创建的随机随机数无法识别,给定的脚本将不会被执行。

那我做错了什么?

最佳答案

找到解决方案:

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

$csp = "Content-Security-Policy: script-src  'nonce-".$nonce1."' 'nonce-".$nonce2."'...";

并将此变量包含到 PHP header 方法中:

header( "{$csp}");

关于javascript - 如何使用 PHP header-method 在 PHP 中使用 WordPress Nonces 实现内容安全策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46624598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com