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被篡改的风险。但请注意,没有绝对的安全措施,因此请始终保持警惕并定期更新您的安全策略。