Как сделать авто логин, сохранить сеанс в браузере - PullRequest
1 голос
/ 01 ноября 2011

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

    setcookie(session_name(), '', time()-2592000, '/');

, но может бытьсложнее, чем это.Предположим, если я использую php, кто-нибудь может сказать мне, как реализовать эту функцию, я предполагаю, что это сделано на стороне сервера, извините, если я не дал четкого описания.

1 Ответ

1 голос
/ 01 ноября 2011

Что я делаю, я сохраняю идентификатор пользователя и / или имя пользователя и хэш входа в систему, md5 (идентификатор пользователя + имя пользователя + пароль) в качестве файлов cookie.

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

Global

$randomSeperator = '!~!';

Первый запуск ...

$hash = md5($id . $randomSeperator . $username);
setCookie('id', $id);
setCookie('username', $username);
setCookie('hash', $hash);

Второй запуск ...

$id/$username/$hash = $_COOKIE[][][] .... // Get all 3 cookies

if($hash == md5($id . $randomSeperator . $username) ){
// Do Autologin
}
...