Постоянный вход в PHP – я переиздаю файл cookie после каждой проверки подлинности на странице?

Я создал постоянное приложение для входа, основанное на этих принципах (From: http://jaspan.com/improved_persistent_login_cookie_best_practice )

  1. Когда пользователь успешно войдет в систему с помощью параметра «Запомнить меня», в дополнение к стандартным файлам cookie управления выпуском создается файл cookie для входа. [2]
  2. Файл cookie для входа содержит имя пользователя пользователя, идентификатор серии и токен. Серия и токен – это неопровержимые случайные числа из достаточно большого пространства. Все три сохраняются вместе в таблице базы данных.
  3. Когда пользователь, не зарегистрированный пользователем, посещает сайт и представляет файл cookie для входа, имя пользователя, серия и токен просматриваются в базе данных.
  4. Если триплет присутствует, пользователь считается аутентифицированным. Используемый токен удаляется из базы данных. Создается новый токен, который хранится в базе данных с именем пользователя и идентификатором той же серии, и новый пользовательский файл cookie, содержащий все три, выдается пользователю.
  5. Если имя пользователя и серия присутствуют, но токен не совпадает, предполагается кража. Пользователь получает строго сформулированное предупреждение, и все пользовательские сеансы пользователя удаляются.
  6. Если имя пользователя и серия отсутствуют, файл cookie для входа игнорируется.

Я понимаю, что я повторно выдаю новый токен после успешной первоначальной аутентификации. Но после этого я повторно выдаю новый токен на других страницах, требующих проверки подлинности, продолжая проверять этот постоянный файл cookie.

Или я, после первоначальной успешной проверки подлинности, помечает пользователя как зарегистрированного и только аутентифицируется с этой точки вперед сессией и сохраняет этот первоначальный повторно опубликованный файл cookie, когда пользователь пытается получить доступ к сайту после истечения текущего сеанса (т. Е. закрытый браузер и т. д.)?

Я проголосовал за второй вариант. Если ничего другого, постоянное обновление файла cookie auth – это удар производительности. (небольшой, но все же ненужный). При успешном входе в систему напишите файл cookie. Как только пользователь находится на сайте, используйте только значения сеанса.

Вы проверяете только файл cookie для входа, когда пользователь пытается получить доступ к сайту без текущего файла cookie сеанса. Вот как я бы понял принцип № 3.

Когда пользователь, не зарегистрированный пользователем, посещает сайт и представляет файл cookie для входа, имя пользователя, серия и токен просматриваются в базе данных.

(Акцент мой.)

Кроме того, если логически логически думать, не было бы смысла использовать куки-файл сеанса и файл cookie для входа, если вы все равно будете проверять и перевыпускать файл cookie для входа на каждом pageload.