要防止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被篡改的風險。但請注意,沒有絕對的安全措施,因此請始終保持警惕并定期更新您的安全策略。