У меня есть проблема, и я не могу найти какое-либо решение. Проблема в том, что когда пользователь открывает страницу, токен безопасности генерируется таким образом и добавляется в массив SESSION.
$token = generate_csrf_token();
$_SESSION['tokens'][] = $token;
Я использую этот токен $ в отправке формы в качестве скрытого ввода для безопасности CSRF. Теперь проблема в том, что если пользователь публикует какой-либо комментарий, я могу удалить токен $ из массива после того, как комментарий будет опубликован следующим образом.
$token = $_POST['token'];
// comment posting process
$key = array_search($token, $_SESSION['tokens']);
unset($_SESSION['tokens'][$key]);
Но если пользователь не публикует никаких комментариев и не покидает страницу, как я могу удалить этот токен $ из массива $_SESSION['tokens'][]
. Если я не удалю, это может привести к большому количеству неиспользуемых токенов $ в массиве.