имя пользователя в cookie

#php #security #cookies

#php #Безопасность #файлы cookie

Вопрос:

Я хочу создать cookie ТОЛЬКО с именем пользователя. Я хочу, чтобы наша форма входа запоминала имя пользователя (если пользователь выберет), но им придется вводить свой пароль каждый раз.

Есть ли какой-либо риск просто иметь имя пользователя в cookie? Должно ли быть какое-либо шифрование имени пользователя?

Предложения?

Комментарии:

1. вы можете сделать, если пользователи используют с общедоступного компьютера

Ответ №1:

Хотя это не лучшее, что можно сделать, ответ на ваш вопрос заключается в том, что вы можете зашифровать и сохранить имя пользователя в cookie, прочитать и расшифровать во время выполнения

ЗАШИФРОВАТЬ:

 base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($username), $salt, MCRYPT_MODE_CBC, md5(md5($username))));
  

РАСШИФРОВАТЬ

 rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($username), base64_decode($salt), MCRYPT_MODE_CBC, md5(md5($username))), "");
  

Комментарии:

1. Почему при использовании функций mcrypt может выдаваться ошибка? Я использую PHP версии 5.2.6 — Неустранимая ошибка : вызов неопределенной функции mcrypt_encrypt ()

Ответ №2:

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

Это предоставляет некоторые доступные для прослушивания данные любому, кто случайно заглянет в файл cookie jar, которые могут иметь значение для вас и / или ваших пользователей, а могут и не иметь.

Комментарии:

1. Единственное назначение файла cookie — заполнить поле ввода имени пользователя при входе в систему. Оно не будет использоваться для аутентификации каким-либо образом, в какой-либо форме.

Ответ №3:

Я видел, как системы, такие как Moodle, делают это. Так что это не редкость. При этом есть риски, но опции на сайтах, подобных этому, стали обычным явлением.