要防止PHP Cookie被篡改,您可以采取以下措施:
setcookie("name", "value", time()+3600, "/", "", true);
setcookie("name", "value", time()+3600, "/", "", true, true);
setcookie("name", "value", time()+3600, "/", "", true, true, 'Strict'); // 或者使用 'Lax'
$cookie_value = "value";
$cookie_signature = hash("sha256", $cookie_value . $secret_key);
setcookie("name", $cookie_value, time()+3600, "/", "", true, true, 'Strict', $cookie_signature);
$client_cookie_signature = $_COOKIE["name_signature"]; // 假设客户端发送的Cookie名为"name_signature"
$server_cookie_signature = hash("sha256", $_COOKIE["name"] . $secret_key);
if ($client_cookie_signature !== $server_cookie_signature) {
// 拒绝请求或采取其他安全措施
die("Invalid cookie signature");
}
通过采取这些措施,您可以大大降低PHP Cookie被篡改的风险。但请注意,没有绝对的安全措施,因此请始终保持警惕并定期更新您的安全策略。