Czy Firefox może zignorować ustawienie tagu autouzupełniania HTML 5?

15

W HTML 5 istnieje nowy atrybut o nazwie autocomplete. Jeśli jest ustawiony na autocomplete=off, przeglądarka nie przechowuje hasła.

Jak mogę zmienić to ustawienie, nie modyfikując kodu źródłowego Firefoksa i ponownie go kompilując? Czy może Firefox ma opcję: config: Nie zauważam, że mogę się przełączać - „ignoruj: autouzupełnianie” czy coś takiego?


źródło

Odpowiedzi:

1

Chodzi o autocomplete=offto, aby zapewnić pewien poziom bezpieczeństwa dla pól, które tego wymagają. Jeśli projektant witryny uznał, że wymaga to pole autocomplete=off, istnieje duża szansa, że ​​ma to na myśli. Dlaczego chcesz to wyłączyć?

Krótka odpowiedź: Nie, nie ma sposobu, aby to wyłączyć. Jest uważany za funkcję bezpieczeństwa.

(nawiasem mówiąc, autocomplete=offbyła cechą w różnych przeglądarkach na wieki ... To mogły być dokonywane tylko formalnie część HTML jak HTML5, ale to było w użyciu przez bardzo długi czas, więc nie uważam go ' Nowy')

Spudley
źródło
3
Ponieważ w ramach audytu bezpieczeństwa musimy dodać autouzupełnianie = off do wszystkich naszych loginów, aby przejść audyt. To prawdziwy ból dla wszystkich naszych zespołów opracowujących i testujących projekty. Nie ma potrzeby wyłączania go w trakcie tworzenia lub testowania, ale jednocześnie byłoby absurdalnie mieć włączoną funkcję środowiska we wszystkich naszych produktach. Wiele z naszych kontroli jakości słusznie narzeka na konieczność logowania. Mamy wielu klientów z niestandardowymi funkcjami, dlatego do testowania potrzebne jest częste logowanie i wylogowywanie się między klientami. Po wyłączeniu znacznie spowolnił nasze testy.
I tak, mamy automatyczne testy, ale nie wszystko może lub powinno być zautomatyzowane.
2
@ użytkownik: dlaczego więc nie mieć flagi w kodzie, którą można włączyć, która powoduje, że witryna obsługuje flagę autouzupełniania? flagi specyficzne dla rozwoju nie są niczym niezwykłym w aplikacji. Lub zmień hasła w środowisku kontroli jakości. Lub napisz skrypt Greasemonkey, który da ci przycisk szybkiego logowania dla każdego użytkownika. Jest na to wiele sposobów, które nie wymagają hakowania Firefoksa.
2
ODPOWIEDŹ @Spudley komentarz: Skrypt Greasemonkey doprowadził mnie do tego: downloadquad.switched.com/2005/08/29/... z linkiem do skryptu „AllowPasswordRemembering”, który zastępuje flagę autocomplete = off. To działa. Dzięki!
11
Co za kretyńska funkcja bezpieczeństwa. Jeśli zapisywanie haseł jest zbyt ryzykowne, nie obsługuj go wcale. Jeśli nie jest to zbyt ryzykowne, zawsze na to zezwalaj. Dlaczego, u licha, zależy to od twórców stron internetowych? Co mają wspólnego z tą decyzją? </rant>
RomanSt
11

Jest inny sposób, aby firefox zapamiętywał hasło dzięki Firebug: wystarczy zmienić wartość autouzupełniania na „on” i zapisać formularz. Firefox jak zwykle wyświetli wyskakujące okienko „zapamiętaj”.

Szczegóły podano tutaj :

  • zainstaluj Firebug
  • na stronie z błędnym hasłem otwórz Firebug.
  • użyj niebieskiego wskaźnika myszy na pasku narzędzi Firebug, aby wybrać pole hasła na karcie HTML Firebug, powinieneś mieć wybrane pole
  • kliknij dwukrotnie „wyłączone”, aby edytować wartość i zmień ją na „włączone”.
  • Teraz wprowadź login / hasło jak zwykle w formularzu strony
  • po naciśnięciu przycisku „Prześlij” Firefox powinien wyświetlić okienko z powiadomieniem, które pozwala zapamiętać login / hasło do tej witryny.

Teraz, za każdym razem, gdy przejdziesz na tę stronę, firefox automatycznie uzupełni dane logowania / hasło.

fanf42
źródło
Możesz także kliknąć dwukrotnie „autouzupełnianie” i nacisnąć klawisz Delete, aby usunąć cały atrybut.
Matthew Lock
Teraz już pracuj. (Masz trochę głosów, więc myślę, że mogłem pracować na początku). Testowane z Firefox 32.0.1, Firebug 1.11.1 / 2.0.4, Firefox Developer Tools na Magento Backend CE 1.9.0.1.
user620965
Wydaje się, że nadal działa w Firefoksie 39 po mojej stronie. Korzystam teraz z wbudowanej funkcji Firefoksa „kliknij prawym przyciskiem myszy -> sprawdź element (Q)”, ale proces jest taki sam: edytuj kod, aby usunąć lub włączyć tag autouzupełniania, wpisz login i hasło, a następnie kliknij ok, a następnie Firefow pokazuje „czy chcesz zapamiętać hasło”. Czy masz witrynę, która nie działa dla ciebie, gdzie mogłabym przetestować?
fanf42
5

Następująca bookmarklet sprawia, że ​​wszystkie formularze na tej stronie są autouzupełniane:

<a href="javascript:(function(){var fm=document.getElementsByTagName('form');for(i=0;i<fm.length;i++){fm[i].setAttribute('autocomplete','on');}})()">Autocomplete on</a>

Wystarczy umieścić powyższe w pliku HTML, odwiedzić go za pomocą przeglądarki, przeciągnąć link „Autouzupełnianie na” do paska narzędzi zakładek, odwiedzić stronę z niewłaściwym formularzem i kliknąć zakładkę „Autouzupełnianie na”, aby formularz zapamiętał wpis .

AK
źródło
Działa jak urok ... bardzo.
Yamodax,
to proste i łatwe rozwiązanie! (chociaż musiałem zmienić „formularz” na „dane wejściowe” dla jedynej sprawdzonej do tej pory strony)
Kevin
Wygląda na to, że Firefox 32.0.1 ustawia wytyczne dotyczące bezpieczeństwa zapisywania hasła podczas ładowania. Zmiany za pomocą Javascript nie są już brane pod uwagę.
user620965,
2

Najłatwiej to zrobić:

zlokalizuj plik nsLoginManager.js w folderze „Mozilla Firefox”, na przykład:

C: \ Program Files \ Mozilla Firefox \ nsLoginManager.js

zlokalizuj funkcję

_isAutocompleteDisabled :  function (element) {
        if (element && element.hasAttribute(”autocomplete”) &&
            element.getAttribute(”autocomplete”).toLowerCase() == “off”)
            return true;

return false;
},

teraz zmień pierwszy zwrot z true na false, na przykład:

_isAutocompleteDisabled :  function (element) {
        if (element && element.hasAttribute(”autocomplete”) &&
            element.getAttribute(”autocomplete”).toLowerCase() == “off”)
            return false;  //This is the line of code that changed.....

return false;
},

Teraz zapisz tę zmianę i uruchom ponownie Firefox.

użytkownik116009
źródło
Nie działa to z przeglądarką Firefox 17
Ben
To nie działa w przeglądarce Firefox 32.0.1
user620965
To zła edycja. Co chcesz zrobić, to dodać „return true;” w pierwszym wierszu tej funkcji autouzupełnianie jest zawsze włączone i żadne kontrole nie są wykonywane.
cprn
1

Jeśli masz Firefox, możesz zainstalować Greasemonkey i zainstalować ten dodatek, który ponownie włącza autouzupełnianie dla formularza. To nie jest idealne, ale ogólnie działa. W przypadku witryn, które nie do końca działają, możesz utworzyć niestandardowy skrypt monekey smaru

SeanDowney
źródło
Twój link do dodatku jest wyłączony.
user620965
Rzeczywiście jest! Skrypty użytkownika zagryzły wiadro! Oto lustro: userscripts-mirror.org/scripts/show/36242.html
SeanDowney
Możesz go hostować na greasyfork.org
cprn
1

Dodatek Auto-Complete On włącza autouzupełnianie tylko dla pól związanych z logowaniem, dzięki czemu numery kart kredytowych i tym podobne nadal nie zostaną zapisane (przynajmniej teoretycznie).

Biorąc pod uwagę, że ten dodatek jest zawsze włączony, wydaje się to dobrym pomysłem. Jest to dodatek, który nie uruchamia się ponownie, więc teoretycznie można go włączyć tylko wtedy, gdy jest to stosunkowo łatwe.

RomanSt
źródło
Teraz już pracuj. (Masz trochę głosów, więc myślę, że mogłem pracować na początku). Testowane z Firefoksem 32.0.1, autouzupełnianie w wersji 1.6 na Magento Backend CE 1.9.0.1
user620965,