Если пользователь заходит на сайт и говорит «запомни меня», мы получаем уникальный идентификатор пользователя, шифруем его с помощью RijndaelManaged с размером ключа 256 и помещаем его в файл cookie httponly с установленным сроком действия, скажем. 120 дней, срок действия обновляется каждый успешный запрос к серверу.
При желании мы генерируем вектор инициализации на основе пользовательского агента и части адреса ipv4 (последние два октета).
Очевидно, что в него не встроена настоящая система истечения срока действия, пользователь может технически использовать этот зашифрованный ключ навсегда (учитывая, что мы не меняем ключ на стороне сервера) ..
Я учел тот факт, что для разрешения этой функции мне нужно разрешить пользователю обойти вход в систему и дать мне свой уникальный идентификатор (который является guid), я полагал, что один гид действительно трудно угадать пользователи ведут, но оставляют сайт открытым для атаки бот-ботами, генерирующими руководства (я понятия не имею, насколько реалистично для них найти законный guid) ... вот почему есть шифрование, когда сервер знает ключ шифрования, и опционально iv относится только к браузеру и ip части.
Должен ли я рассмотреть другой подход, когда сервер выдает билеты, связанные с пользователем, и эти билеты будут иметь известную дату истечения срока действия, поэтому сервер будет контролировать истечение срока действия? я должен действительно заботиться об истечении срока действия? помните меня, помните меня в конце концов?
С нетерпением жду смирения;),
Приветствия.