Ответ 1
вам нужно сохранить файл cookie на стороне клиента, зашифрованный. теперь с HTML5 я рекомендую вам использовать локальное хранилище Я использую этот jstorage plugin
Существует множество форм для входа с небольшим флажком "Запомнить мой пароль", чтобы при следующем посещении веб-сайта браузер автоматически заполнял поле пароля для вас.
Но я заметил поведение в современных браузерах, таких как Chrome/Firefox, в котором отображается панель уведомлений, чтобы сохранить имя пользователя/пароль, даже если на этой конкретной веб-странице не установлен флажок "запомнить пароль".
поэтому мои вопросы:
вам нужно сохранить файл cookie на стороне клиента, зашифрованный. теперь с HTML5 я рекомендую вам использовать локальное хранилище Я использую этот jstorage plugin
Часть "сохранить пароль" поступает из диспетчера паролей браузера всякий раз, когда он видит <input type="password">
, который выглядит так, как будто он запрашивает пароль. Вы можете использовать атрибут autocomplete для подавления этого в большинстве браузеров:
<input type="password" name="password" autocomplete="off">
Это не будет проверяться, но обычно это не имеет значения.
Часть "запомнить меня" полностью отделена от менеджера паролей браузера. Флаг "помнить меня" - это серверный бизнес, и все, что он делает, - это скрипка с датой истечения срока действия cookie, которую он отправляет обратно. Сервер всегда будет отправлять файлы cookie (если они не используют файлы cookie для отслеживания сеансов, но это редко и не нужно "помнить меня" ) с чем-то внутри, чтобы идентифицировать пользователя клиента.
Если вы установите флажок "запомнить меня", вы сообщите серверу, что вы хотите постоянный сеанс. Чтобы достичь этого, сервер будет включать дату истечения срока действия с файлом cookie, и что срок годности истекает в будущем. Когда дата наступает, браузер истечет и удалит файл cookie; без cookie, сервер не будет знать, кто вы такой, и вам придется снова войти в систему.
Если вы не отметите "помните меня", вы получите куки файл сеанса. Файлы сеансов cookie не имеют дат истечения срока их действия, поэтому они автоматически истекают при выходе из браузера. Файлы сеансов cookie полезны для общих компьютеров.
Резюме:
Извините, что вы так долго наматывались, но, похоже, есть некоторая путаница и отсутствие ясности в других ответах.
Вопрос 1:
Идентификатор сеанса хранится в файле cookie. AFAIK, пароль или хэш этого не сохраняется. Сеанс создается на стороне сервера всякий раз, когда вы входите в систему. Если вы вошли в систему с параметром "Запомнить меня", сервер передает файл cookie с идентификатором сеанса (или зашифрованным идентификатором сеанса или что-то, что однозначно идентифицирует сеанс пользователя), и это cookie сохраняется на стороне клиента.
Когда вы входите в систему в следующий раз, сервер проверяет, есть ли файл cookie с сеансом, если он есть (и сеанс не был убит/истек - см. Пункт 2 ниже), тогда сервер идентифицирует вас как "Veera" и позволяет вам на сайте.
Многие веб-сайты предлагают вариант "Выход из всех сеансов" (например, Gmail: см. нижнюю часть окна). Это приведет к аннулированию всех сеансов, связанных с пользователем.
Вопрос 2:
Помните пароль - это функция, предлагаемая браузером. Браузер видит, есть ли <input type=password>
на странице и предлагается сохранить этот пароль для вас. Любой <input type=password>
может вызвать это.
Разница между сервером, помнящим вас и браузером, помнящим ваш пароль, заключается в том, сохранен ли ваш пароль или нет. В сочетании с опцией "Выйти из всех сеансов" это намного лучше, чем позволить браузеру сохранить ваш пароль.
Вам понадобится способ узнать, кто такой пользователь. Обычно это делается путем сохранения cookie в браузере пользователей. Вы должны использовать только то, что не легко подделано, и поэтому необходимо использовать шифрование. Вы можете использовать локальное хранилище, если уверены, что все браузеры, которые будут использоваться на вашем сайте, поддерживают его.
Нет, нет. Как правило, поле с паролем запускает панель.