Итак, я читал и был действительно смущен наличием токена CSRF, независимо от того, должен ли я генерировать новый токен для каждого каждый запрос, или только в час или что-то?
$data['token'] = md5(uniqid(rand(), true));
$_SESSION['token'] = $data['token'];
Но допустим лучше генерировать токен каждый час, тогда мне нужно будет две сессии :токен, истечение срока действия,
И как я буду переходить на форму? Просто поместите echo $ _SESSION['token'] в форму скрытого значения, а затем сравните при отправке?