Pamiętam, że widziałem sposób, aby mieć <input type="password" />
taki, że przeglądarka nie monituje użytkownika o zapisanie hasła. Ale rysuję puste miejsce. Czy istnieje atrybut HTML lub jakaś sztuczka JavaScript, która to zrobi?
101
Odpowiedzi:
Spróbuj użyć
autocomplete="off"
. Nie jestem jednak pewien, czy każda przeglądarka go obsługuje. Dokumentacja MSDN tutaj .EDYCJA : Uwaga: większość przeglądarek zrezygnowała z obsługi tego atrybutu. Zobacz Czy funkcja autocomplete = "off" jest zgodna ze wszystkimi nowoczesnymi przeglądarkami?
Jest to prawdopodobnie coś, co powinno być pozostawione raczej użytkownikowi niż projektantowi strony internetowej.
źródło
<input type="password" autocomplete="off" />
Chciałbym tylko dodać, że jako użytkownik uważam, że jest to bardzo irytujące i kłopotliwe do przezwyciężenia. Zdecydowanie odradzam korzystanie z tego, ponieważ najprawdopodobniej pogorszy to twoich użytkowników.
Hasła nie są już przechowywane w MRU, a poprawnie skonfigurowane komputery publiczne nie zapiszą nawet nazwy użytkownika.
źródło
Rozwiązałem w inny sposób. Możesz tego spróbować.
#Inny sposób
// musisz dodać atrybut autocomplete = "off" lub możesz dodać klasę .auto-complete-off do pola wprowadzania i ciesz się
Przykład:
źródło
Wypróbowałem następujące i wygląda na to, że działa w każdej przeglądarce:
W ten sposób jest o wiele bezpieczniejszy niż stosowanie technik limitu czasu, ponieważ gwarantuje, że pole wejściowe ulegnie hasłu, gdy użytkownik je ustawi.
źródło
Jeśli chodzi o kwestie bezpieczeństwa, oto co powie Ci konsultant ds. Bezpieczeństwa na temat całej sprawy (pochodzi z rzeczywistego niezależnego audytu bezpieczeństwa):
Zgadzam się również, że powinno to obejmować każdą dziedzinę, która zawiera naprawdę prywatne dane. Uważam, że można zmusić osobę do wpisywania danych karty kredytowej, kodu CVC, haseł, nazw użytkowników itp. Za każdym razem, gdy witryna ma uzyskać dostęp do wszystkiego, co powinno być zabezpieczone [ogólnie lub zgodnie z wymogami prawnymi]. Na przykład: formularze zakupu, strony bankowe / kredytowe, strony podatkowe, dane medyczne, federalne, nuklearne itp. - a nie witryny takie jak Stack Overflow lub Facebook.
Inne typy witryn - np. TimeStar Online do rejestracji czasu pracy i poza nią - to głupie, ponieważ zawsze używam tego samego komputera / konta w pracy, że nie mogę zapisać poświadczeń na tej stronie - o dziwo mogę na moim Androidzie ale nie na iPadzie. Nawet współdzielone komputery nie byłyby takie złe, ponieważ rejestrowanie wejścia / wyjścia dla kogoś innego naprawdę nie robi nic poza irytacją twojego przełożonego. (Muszą wejść i usunąć błędne uderzenia - po prostu nie chcą zapisywać na publicznych komputerach).
źródło
Proszę bardzo.
źródło
Oto najlepsza i najłatwiejsza odpowiedź! Umieść dodatkowe pole hasła przed swoim
input
polem i ustaw jedisplay:none
tak, aby gdy przeglądarka je wypełniła,input
zrobiła to w miejscu, na którym Cię nie obchodzi.Zmień to:
do tego:
źródło
display:none
mnie nie działa (Chrome 61 OSX), ale to działa:<input type="password" style="position: absolute; top: -1000px;">
Przeczytaj także tę odpowiedź, w której używa tego łatwego rozwiązania, które działa wszędzie (zobacz także poprawkę dla mobilnej przeglądarki Safari):
źródło
Możesz użyć JQuery, wybierz element według identyfikatora:
Lub wybierz element według typu:
Lub też:
Możesz użyć czystego Javascript:
źródło
możesz go również używać jak obserwowanie
źródło
ponieważ autocomplete = off jest przestarzałe, sugeruję nowsze rozwiązanie.
Ustaw swoje hasło na zwykłe pole tekstowe i zamaskuj wprowadzone dane za pomocą „dysków” za pomocą CSS. kod powinien wyglądać następująco:
Należy pamiętać, że może to nie działać poprawnie w przeglądarkach Firefox i potrzebne jest dodatkowe obejście. Przeczytaj więcej na ten temat tutaj: https://stackoverflow.com/a/49304708/5477548 .
Rozwiązanie zostało zaczerpnięte z tego łącza , ale aby zachować zgodność z SO „no-hotlinks”, podsumowałem je tutaj.
źródło
W przypadku większości głównych przeglądarek dane wejściowe poza formularzami i niepołączone z nimi w jakikolwiek sposób oszukują przeglądarkę do myślenia, że nie było przesłania. W takim przypadku do logowania musiałbyś użyć czystej walidacji JS, a szyfrowanie haseł byłoby również konieczne.
Przed:
Po:
źródło
Znalazłem następujące prace w przeglądarce Firefox i Chrome.
Wszystko to znajduje się w sekcji formularzy. „person” i „mypswd” są tym, czego chcesz, ale przeglądarka zapisze „userid” i „passwd” raz i nigdy więcej, ponieważ nie zmieniają się. Możesz wyeliminować pole „osoba”, jeśli naprawdę go nie potrzebujesz. W takim przypadku wszystko, czego potrzebujesz, to pole „mypswd”, które może się zmienić w pewien sposób znany użytkownikowi Twojej strony internetowej.
źródło
Jedynym sposobem, w jaki mogę wyłączyć autouzupełnianie w programach Firefox, Edge i Internet Explorer, jest dodanie autocomplete = "false" w moim oświadczeniu formularza, na przykład:
i muszę dodać autocomplete = "off" do mojego formularza i zmienić typ na tekst, na przykład:
Wygląda na to, że ten kod html wymaga standaryzacji w przeglądarkach. Formularz typ = hasło należy zmienić, tak aby zastępował ustawienia przeglądarki. Jedyny problem, jaki mam, to utrata maskowania wprowadzania. Ale z drugiej strony irytujące „ta witryna nie jest bezpieczna” nie pojawia się w przeglądarce Firefox.
dla mnie to nie jest wielka sprawa, ponieważ użytkownik jest już uwierzytelniony, a jego część dotycząca zmiany nazwy użytkownika i hasła
źródło