Менеджеры паролей браузера меня поставили в тупик - PullRequest
0 голосов
/ 27 августа 2010

Я работаю над диалогом входа на мой сайт. Чтобы избавить пользователей от необходимости запоминать их регистрационные данные, я хочу сотрудничать со встроенными в браузер менеджерами паролей. Я решил, что для того, чтобы Firefox играл в мяч, я должен использовать HTML-форму с простым ванилью. Хорошо, пусть будет так. Однако я не буду передавать незашифрованные пароли. Итак, содержимое моей формы выглядит так:

input#1 type="text" name="login"
input#2 type="password"
input#3 type="hidden" name="passwd"

Затем я перехватываю отправку и зашифровываю содержимое # 2 в # 3 и выключаю форму. Работает удовольствие в IE и Firefox, а не в Opera и Chrome. Просто обошёл SO и обнаружил, что проблема в вводе № 2, который не имеет атрибута «name». Быстрый тест показывает, что когда я добавляю name = "ignore", он действительно работает в Chrome и Opera. Единственная проблема заключается в том, что пароль теперь передается по сети в виде простого текста с меткой «игнорировать». Огромное спасибо. Весь смысл опустить «имя» состоял в том, чтобы пропустить это поле из формы.

Если есть способ, которым я могу подавить ввод № 2 от отправки, все еще давая ему "имя"? Или есть другой прием, который я мог бы использовать?

Спасибо.

1 Ответ

1 голос
/ 29 августа 2010

Ответ в самом узком смысле оригинального вопроса: да, это возможно через Ajax.Создайте ванильную ФОРМУ с двумя именованными ВХОДАМИ и отправьте КНОПКУ.(Не забудьте симулировать некоторые действия в атрибутах FORM.) Теперь это выглядит как текстовое дело HTML.Затем в JS перехватите отправку из FORM и запустите Ajax-запрос к вашему PHP-сценарию, отправив простой логин и хэшированный пароль.Верните FALSE из onsubmit, чтобы подавить действие FORM.Вы сделалиНет больше текстовых паролей через провод ...

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