Иногда я сталкиваюсь с определенными платформами веб-разработки, которые не предоставляют функцию проверки подлинности, например, в Authentication ASP.NET.
Мне было интересно, какие меры безопасности необходимо учитывать при внедрении функций входа "Запомнить меня" вручную?
Вот что я обычно делаю:
-
Сохраните имя пользователя в cookie. Имя пользователя не зашифровано.
-
Храните секретный ключ в файле cookie. Секретный ключ генерируется с использованием односторонней функции, основанной на имени пользователя. Сервер будет проверять секретный ключ от имени пользователя, чтобы гарантировать, что это имя пользователя не изменяется.
-
Используйте HttpOnly в cookie. http://www.codinghorror.com/blog/2008/08/protecting-your-cookies-httponly.html
Что-нибудь еще я пропустил, что может привести к дырам в безопасности?