我有一个问题,我无法找到任何解决方案。问题是当用户打开页面时,会像这样生成一个安全令牌并添加到会话数组中
$token = generate_csrf_token();
$_SESSION['tokens'][] = $token;
我在表单提交中使用这个 $token 作为 CSRF 安全性的隐藏输入。现在,问题是,如果用户发表任何评论,我可以在像这样发布评论后从数组中删除 $token
$token = $_POST['token'];
// comment posting process
$key = array_search($token, $_SESSION['tokens']);
unset($_SESSION['tokens'][$key]);
但是如果用户没有发表任何评论并退出页面,如何,我可以从$_SESSION['tokens'][]
数组中删除该 $token。如果我不删除,这可能会导致数组中有这么多未使用的 $token。