Лучший способ реализовать опцию AUTO LOG IN в php - PullRequest
0 голосов
/ 22 июля 2011

Я прочитал несколько решений, таких как http://fishbowl.pastiche.org/2004/01/19/persistent_login_cookie_best_practice/

Теперь я понимаю, что вы должны использовать Cookies, но какой самый оптимальный / безопасный способ реализовать функцию автоматического входа в систему.

скажем, у нас есть таблица пользователей, которая содержит учетную запись пользователя, адрес электронной почты, пароль и т. Д.

Как насчет отдельной таблицы сеансов, содержащей

session_id, ip, user_agent, Идентификатор пользователя.

Вы сохраняете session_id в cookie-файле, и как только человек снова заходит на сайт, страница загружает cookie-файл и получает session_id. Затем вы сравниваете текущий ip и пользовательский агент с теми, что хранятся в таблице сеансов. После этого вы извлекаете данные пользователя на основе user_id из таблицы users.

Как звучит это решение?

1 Ответ

0 голосов
/ 22 июля 2011

Вы можете использовать IP-адрес, и если они не совпадают, тогда им просто нужно снова войти в систему.

Затем вы можете сравнить данные и время с данными в файле cookie, если они отличаются, то они должны снова войти в систему.

Вы также можете создать для них уникальное случайное число. Это будет меняться каждый раз, и вы можете сравнить это.

Итак, то, что вы сказали, сработало бы отлично. Есть таблица сессий для отслеживания автоматических входов в систему. Я бы хотя бы добавил поле даты / времени.

Не сохраняйте имя пользователя и пароль в куки, даже если он хеширован. Вы не должны делать это для автоматического входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...