Как я могу заставить браузер запрашивать для сохранения пароля?

Эй, я работаю над веб-приложением, которое имеет диалоговое окно входа в систему, которое работает как это:

  1. Пользователь нажимает "вход в систему"
  2. Форма входа в систему HTML загружена Ajax и отображена в DIV на странице
  3. Пользователь вводит пользователя/передачу в поля, и щелчки отправляют. Это не a <form> - пользователь/передача отправлен через Ajax
  4. Если пользователь/передача хорошо, перезагрузки страницы с пользователем вошли в систему.
  5. Если пользователь/передача плох, страница НЕ перезагружает, но сообщение об ошибке появляется в DIV, и пользователь добирается, чтобы попробовать еще раз.

Вот проблема: браузер никогда не предлагает обычное, "Сохраняют этот пароль? Да / Никогда / Не Теперь" подсказка, которую это делает для других сайтов.

Я пытался перенестись <div> в <form> теги с "автоматическим заполнением ='on'", но это не имело никакого значения.

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

спасибо Eric

p.s. для добавления к моему вопросу я определенно работаю с browers, которые хранят пароли, и я никогда не нажимал "never for this site"... это - технический вопрос с браузером, не обнаруживающим, что это - форма входа в систему, не ошибка оператора :-)

135
задан Eric 6 March 2010 в 21:48
поделиться

5 ответов

Ваш сайт, вероятно, уже находится в списке, где браузеру предлагается не запрашивать сохранение пароля. В firefox: Параметры -> Безопасность -> Запомнить пароль для сайтов [флажок] - исключения [кнопка]

0
ответ дан 23 November 2019 в 23:48
поделиться

Браузер возможно, не удастся определить, что ваша форма является формой входа в систему. Согласно некоторым обсуждениям в предыдущем вопросе , браузер ищет поля формы, которые выглядят как . Реализовано ли поле формы вашего пароля аналогично этому?

Изменить: Чтобы ответить на ваши вопросы ниже, я думаю, что Firefox обнаруживает пароли с помощью form.elements [n] .type == "пароль" ( итерация по всем элементам формы), а затем обнаруживает поле имени пользователя путем поиска в обратном направлении по элементам формы текстового поля непосредственно перед полем пароля (дополнительная информация здесь ). Насколько я могу судить, ваша форма входа должна быть частью

, иначе Firefox ее не обнаружит.

4
ответ дан 23 November 2019 в 23:48
поделиться

Использование файла cookie, вероятно, будет лучшим способом сделать это.

Вы могли бы установить флажок «Запомнить меня?» и попросите форму создать файл cookie для // логина // пользователя. РЕДАКТИРОВАТЬ: Информация о сеансе пользователя

Чтобы создать файл cookie, вам необходимо обработать форму входа с помощью PHP.

-2
ответ дан 23 November 2019 в 23:48
поделиться

Правда в том, что вы не можете заставить браузер спросить. Я уверен, что браузер имеет свой собственный алгоритм для угадывания, ввели ли вы имя пользователя/пароль, например, ищет ввод type="password", но вы не можете установить что-либо, чтобы заставить браузер.

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

-1
ответ дан 23 November 2019 в 23:48
поделиться

Не каждый браузер (например, IE 6) имеет опции для запоминания учетных данных.

Одна вещь, которую вы можете сделать, это (как только пользователь успешно войдет в систему) сохранить информацию о пользователе через файл cookie и иметь опцию «Запомнить меня на этой машине». Таким образом, когда пользователь приходит снова (даже если он вышел из системы), ваше веб-приложение может получить файл cookie и получить информацию о пользователе (идентификатор пользователя + идентификатор сеанса) и позволить ему / ей продолжать работу.

Надеюсь, это может быть наводя на размышления. :-)

-1
ответ дан 23 November 2019 в 23:48
поделиться
Другие вопросы по тегам:

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