Что я должен сохранить в cookie для реализации, “Помнят меня” во время пользовательского входа в систему

Я использовал Proggy Чистый TT с Visual Studio в течение нескольких лет теперь. Мне нравится способность выбрать, нуль разрезал шрифт поэтому, когда управление решает программировать вместо, справляются, они не путают 0101 с 0101 (нули).

http://www.proggyfonts.com/

12
задан halocursed 7 December 2009 в 07:43
поделиться

4 ответа

Вы можете сохранить идентификатор пользователя в файле cookie, только если вы подпишете его секретным ключом, который известен только вашим приложениям. В противном случае пользователь может изменить cookie на что угодно и войти в систему под другим именем. Итак, если вы хотите сохранить идентификатор пользователя, сохраните также хэш идентификатора пользователя с секретным ключом (в идеале, используя HMAC ), и когда вы хотите войти в систему, вычислите тот же хеш и сравните его с хеш из файла cookie. Другое решение - создать случайный токен, сохранить его в базе данных и использовать в файле cookie. Если он достаточно длинный и случайный, вероятность того, что кто-то угадывает жетон другого человека, очень мала.

13
ответ дан 2 December 2019 в 21:44
поделиться

PHP имеет встроенное управление сеансом, которое делает именно то, что вы ищете:

http://us.php.net/manual/en/book. session.php

Я бы не рекомендовал сохранять user_id в cookie. Вместо этого вы можете сгенерировать уникальный токен и связать токен с пользователями в своей базе данных, а также проверить и восстановить токен по каждому запросу. Опять же, это немного избыточно, потому что управление сеансами уже встроено в PHP.

1
ответ дан 2 December 2019 в 21:44
поделиться

PHP '$ _SESSION сделает это за вас. Вы даже можете написать свой собственный класс сеанса, если хотите полный контроль.

Здесь можно найти небольшой учебник: http://www.tizag.com/phpT/phpsessions.php

Вот небольшой пример использования mysql для хранения сессий вместо php по умолчанию (файлы в / tmp): http://www.hawkee.com/snippet/2018/

0
ответ дан 2 December 2019 в 21:44
поделиться

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

-2
ответ дан 2 December 2019 в 21:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: