Вы должны сохранить user_id
и выдать случайный токен в дополнение к паролю пользователя.Используйте токен в куки и меняйте токен при смене пароля.Таким образом, если пользователь изменит свой пароль, cookie будет признан недействительным.
Это важно, если cookie был захвачен.Он будет признан недействительным, если пользователь обнаружит угон, и, кроме того, поскольку токен не связан с паролем, угонщик не сможет получить и затем изменить пароль учетной записи пользователя и «владеть» учетной записью (при условии, что вам требуется существующий парольдо смены паролей угонщик не владеет учетной записью электронной почты, поэтому он не может использовать «Забыли мой пароль» и т. д.)случайные данные, например, из CRNG).
Если вы хотите пойти еще дальше, вы можете зашифровать cookie перед отправкой и расшифровать его при получении.И, кроме того, не думайте, что угонщик не знает используемый ключ шифрования, поэтому проверяйте содержимое файла cookie при расшифровке.
Но, несмотря на это, предпочитаете использовать постоянное управление сеансами в библиотеке вместокатиться самостоятельно.