Сохраненные имя пользователя / пароль появляются в неправильных полях в Firefox - PullRequest
0 голосов
/ 31 августа 2018

У меня странная ошибка в Firefox, а не в Chrome (оба обновлены).

На странице входа в мой сайт, поля:

<div class="input text required">
    <label for="ArchUtilisateurUsername">Identifiant :</label>
    <input name="data[ArchUtilisateur][username]" id="ArchUtilisateurUsername" type="text">
</div>
<div class="input password">
    <label for="ArchUtilisateurPassword">Mot de passe :</label>
    <input name="data[ArchUtilisateur][password]" id="ArchUtilisateurPassword" type="password">
</div>

Затем на другой странице у меня есть форма для создания учетных записей «читателей», которые отличаются от учетных записей пользователей. Он использует ID чтения и пароль в качестве информации для входа в систему, но в этой форме они не находятся рядом друг с другом. Итак, у меня есть это:

<div class="group-content">
    <div id="DivFieldLecteurFormCompteActif" class="input checkbox ">
        <input name="data[LecteurForm][compte_actif]" value="" type="hidden">
        <input name="data[LecteurForm][compte_actif]" id="FieldLecteurFormCompteActif" value="1" type="checkbox">
        <label for="FieldLecteurFormCompteActif">Compte actif</label>
    </div>
    <div id="DivFieldLecteurFormPassword" class="input password ">
        <label for="FieldLecteurFormPassword">Mot de passe</label>
        <input name="data[LecteurForm][password]" id="FieldLecteurFormPassword" autocomplete="off" type="password">
    </div>
    <div id="DivFieldLecteurFormPasswordConfirm" class="input password ">
        <label for="FieldLecteurFormPasswordConfirm">Confirmation</label>
        <input name="data[LecteurForm][password_confirm]" id="FieldLecteurFormPasswordConfirm" autocomplete="off" type="password">
    </div>
</div>

Странная проблема заключается в том, что если пользователь проверяет всплывающее окно Firefox «сохранить мои данные для входа» при входе на веб-сайт, когда он открывает форму «читатель»,

  • поле «пароль» заполнено паролем пользователя
  • первое предыдущее поле ввода текста в поле пароля заполняется именем пользователя

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

Кажется, все связано с полем пароля:

  • Форма входа в систему и форма Reader имеют разные имена полей пароля, но это все еще делает это
  • Если я удаляю это поле пароля в коде, после перезагрузки поле «Подтверждение пароля» заполняется паролем пользователя
  • Если я удалю оба, пароль пользователя нигде не появится, как и имя пользователя.
  • Если я изменю тип поля пароля с «пароль» на «текст» и перезагружаюсь, пароль появляется не в этом поле, а в «подтвердить пароль». И больше не появляется (ни имя пользователя), если я делаю это для обоих.

Последний пункт, кажется, подтверждает, что (по крайней мере, в моем случае), когда Firefox имеет сохраненное имя пользователя / пароль для веб-сайта, он пытается заполнить информацию первым найденным им полем типа пароля, а затем заполняет первое предыдущее текстовое поле. Как вы можете видеть в коде, он делает это, даже если я поставлю autocomplete="off" на поле.

Таким образом, Firefox автоматически заполнял неправильную форму, которая даже имеет разные имена полей (и разные идентификаторы полей), с сохраненной информацией для входа в систему. Это известное поведение? Есть ли способ предотвратить это (так как автозаполнение, похоже, не выполняет свою работу)?

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

1 Ответ

0 голосов
/ 03 сентября 2018

Наконец-то я нашел рабочий ответ здесь: https://stackoverflow.com/a/29852908/1459054

При поиске, эта «ошибка» ... извините, «функция» существует в Firefox более 10 лет, я видел несколько сообщений об ошибках с этим тегом «WONTFIX», потому что это ожидаемое поведение («Менеджер паролей не должен» t полагаться на имена полей "), что делает информацию для входа в систему доступной везде, где она может уместиться, и потому что" это не касается многих пользователей, поэтому ее не важно исправлять ".

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