我对 Firefox 中的内容安全策略有疑问。这是我的基本代码:
<?php include_once 'corepolicies/csp.php'; ?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="scripts/script.js"></script>
<link href="style/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<form id="formTest" method="post" action="index.php">
<input type="text" name="getText"/>
<input type="submit" value="insert"/>
</form>
<div id="inDataForm">
<?php
if(isset($_POST['getText'])){
echo $_POST['getText'];
}
?>
</div>
<script src="listeners/listener.js"></script>
</body>
</html>
这是在php中提交一些数据的简单代码;这是我设置 CSP 标头的 php 文件
<?php
$rule = "default-src 'none'; ";
$rule .= "script-src ".
"http://localhost/CSP/scripts/script.js ".
"http://localhost/CSP/listeners/listener.js ".
"http://code.jquery.com/jquery-1.9.1.js; ";
$rule .= "style-src http://localhost/CSP/style/style.css;";
foreach (array("X-WebKit-CSP", "X-Content-Security-Policy", "Content-Security-Policy") as $csp){
header($csp . ": " . $rule);
}
?>
当我尝试在 Chrome 上加载我的网页时,一切正常,就像在 IE 下一样,但是当我在 Firefox 上运行它时,它没有正确应用 CSP。它说我的脚本和我的样式违反了 CSP script-src='none' 和 style-src='none'。所以它没有看到关于 script-src 和 style-src 的任何规则,我不知道为什么。
任何人都可以帮助我吗?我正在使用 Firefox 20.0