2013-12-12 3 views
0

Поэтому я хочу, чтобы пользователи вошли в систему, даже если они закрывают свои браузеры. Единственный способ, который я могу себе представить, это использовать куки? Я прав? Если да, безопасно ли это? Что я должен отслеживать при использовании файлов cookie для этой цели?Предложения о том, как войти в систему, даже если браузер закрыт

+1

Это всего лишь помнить меня вариант с очень коротким сроком службы. Проверьте http://stackoverflow.com/questions/1354999/keep-me-logged-in-the-best-approach для отличного способа его реализации. –

ответ

1

необходимо установить session.cookie_lifetime целое число в отличное от нуля.

session.cookie_lifetime указывает время жизни файла cookie в секундах, которое отправляется в браузер. Значение 0 означает «пока браузер не будет закрыт». По умолчанию 0.

see here

+0

разве это не похоже на простое время жизни, как этот «setcookie» («TestCookie», $ value, time() + 31536000); //например. 1 год'? –

+0

@Deadpool да, вы правы –

1

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

+0

im думать о чем-то очень похожем на это. –

+0

Поделитесь им со мной. Эти ситуации действительно интересны для программирования в систему :) –

+2

Это путь. Однако вы должны хранить дополнительную информацию о пользователе, такую ​​как UserAgent, IP (как x-forwarded, так и remote_addr), и какие другие переменные кажутся необходимыми и не должны меняться. В противном случае вы сделаете ОЧЕНЬ уязвимым для захвата сеанса (что уже легко в php). Вы могли бы просто получить содержимое cookie 1 пользователя и подделать это. Сопоставляя больше переменных, вы можете попытаться свести к минимуму этот шанс. –