Czy istnieje sposób, aby zapobiec wypełnianiu przez rozszerzenie przeglądarki LastPass formularza HTML z polem wejściowym o nazwie „nazwa użytkownika”?
To jest ukryte pole, więc nie chcę, aby żadne oprogramowanie wykorzystywało to pole do swoich celów:
<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">
Rozwiązanie nie powinno przypominać „zmień nazwę pola wejściowego”.
type="hidden"
zamiast ukrywać za pomocą CSS$(':input').attr('data-lpignore', true);
To wszystko. Spowoduje to wypełnienie formularzy lastpass na wszystkich formularzach.Odpowiedzi:
Dodawanie
do pola wprowadzania danych wyłączało dla mnie szare pole LastPass [...].
Pochodzi z LastPass.com
źródło
Muszą być spełnione dwa warunki:
autocomplete="off"
cechęSettings > Advanced > Allow pages to disable autofill
Więc to zależy zarówno od użytkownika, jak i programisty.
źródło
Udało mi się mieć słowo „-search-” w identyfikatorze formularza, coś w rodzaju
<form id="affiliate-search-form">
- i lastpass nie dodaje swoich elementów do danych wejściowych formularza. Działa z czymś prostszym,<form id="search">
ale nie działa<form id="se1rch">
źródło
search
jako klasy zarówno nazwy użytkownika, jak i hasła wyłączyło przycisk gwiazdki w polu nazwy użytkownika, ale pole hasła pozostało bez zmian.Wiem, że spóźniłem się na imprezę tutaj, ale znalazłem to, kiedy próbowałem powstrzymać Lastpass przed zniszczeniem moich formularzy. @takeshin ma rację, ponieważ autouzupełnianie nie wystarczy. Skończyło się na tym, że zrobiłem hack poniżej, aby ukryć symbol. Niezbyt ładne, ale pozbyłem się ikony.
Jeśli czytają to jacyś programiści lastpass, podaj nam atrybut do użycia, abyśmy nie musieli uciekać się do takich rzeczy.
źródło
background-image
w polach wejściowych (lubię wstawiać „wyczyść przyciski”na polach wejściowych) - w takim przypadku co również pracował dla mnie było po prostu ustawieniebackground-image
ibackground-position
ze!important
przesłonić LastPass stylu wbudowanego.Myślę, że lastpass honoruje
autocomplete="off"
atrybut dla danych wejściowych, ale nie jestem pewien w 100%.EDYTUJ Jak inni zauważyli. działa to tylko wtedy, gdy użytkownik skonfigurował ostatnie przejście, aby to honorować.
źródło
autocomplete="off"
na poziomie formularza. To tylko zmarnowało mi godzinę na tworzenie formularza „edytuj użytkownika”, który wyświetlał niewłaściwy adres e-mail. Preferencje lastpass mają opcję „nie nadpisuj pól, które są już wypełnione”, co bardzo pomaga.Dla mnie pracował albo
type=search
co jest równetext
lub używanerole=note
.Możesz sprawdzić LastPass-JavaScript, ale jest ogromny, być może znajdziesz tam obejście, z tego, co widziałem, sprawdzają tylko typy danych wejściowych 4, więc
input type=search
byłoby jedno obejście:Są to również słowa kluczowe,
role
które wydają się ignorować:Sprawdziłem LastPass '
onloadwff.js
, przygotuj się na 26.960 linii kodu :)źródło
type=search
jest to jedyna rzecz, która działa dla mnie.type=search
jest jedynym sposobem, aby zapobiec autouzupełnianiu, niezależnie od stanu ustawienia LastPass „Respect autocomplete = off”.role="note"
lubtype="search"
. Żaden nie działał na najnowszym Chrome i najnowszym lastpassie.lpignore
to, że znowu działa,https://jsfiddle.net/78z0L1sa/3/
Dodaj „szukaj”, aby wprowadzić identyfikator
źródło
Trochę za późno na imprezę, ale właśnie to osiągnąłem, modyfikując formularz za pomocą:
Myślę, że ten głupiec jako ostatni przechodzi do myślenia, że to formularz wyszukiwania. Jednak nie działa to w przypadku pól z hasłami! Lastpass ignoruje w tym przypadku pole nazwy.
Jedynym sposobem, w jaki udało mi się to zrobić, jest dodanie następującego bezpośrednio u góry formularza:
Powoduje nieprzyjemne migotanie, ale usuwa bzdury z autouzupełnianiem - chociaż nadal wyświetla widżet „generuj hasło”. LastPass czeka, aż domready, a następnie sprawdza, czy są jakieś widoczne pola z hasłami, więc nie można ukryć ani zmniejszyć pól próbnych powyżej.
źródło
W przypadku ostatniego błędnego wydania Lastpass z października 2019 r. Ta prosta poprawka wydaje się najlepsza.
Dodaj
type="search"
do twojego wkładu.
Procedura lastpass sprawdza
type
atrybut, aby określić, co zrobić z jego autouzupełnianiem, i nie robi nic w tym html5type
„wyszukiwania”. Jasne, że jest to lekko hakerskie, ale jest to zmiana w jednym wierszu, którą można łatwo usunąć, gdy naprawią błędny skrypt.Uwaga: po wykonaniu tej czynności wprowadzone przez niektóre przeglądarki mogą wyglądać inaczej, jeśli rozpoznają rozszerzenie
type
atrybut. Jeśli obserwować tego, można temu zapobiec poprzez ustawienie właściwości CSS konkretnej przeglądarki-webkit-appearance
i-moz-appearance
do'none'
na wejściu.źródło
Ten kod w stylu ES6 był dla mnie pomocny, ponieważ dodał data-lpignore do wszystkich moich kontrolek wejściowych:
Aby uzyskać dostęp do określonej kontrolki INPUT, można napisać coś takiego:
Możesz też zrobić to według nazwy klasy:
źródło
Żadna z opcji tutaj (autouzupełnianie, data-lpignore itp.) Nie uniemożliwiała niestety automatycznego wypełniania moich pól formularza przez LastPass. Podjąłem się do problemu bardziej młotkiem i
name
zamiast tego asynchronicznie ustawiłem atrybuty wejściowe za pomocą JavaScript. Następująca funkcja zależna od jQuery (wywoływana z modułu obsługi zdarzenia onsubmit formularza) załatwiła sprawę:W formularzu po prostu użyłem
tmp-name
atrybutów zamiast równoważnychname
atrybutów. Przykład:Aktualizacja 2019-03-20
Nadal napotykałem trudności z powyższym ze względu na AngularJS w zależności od pól formularza posiadających
name
atrybuty, aby ngMessages poprawnie przedstawiało komunikaty o błędach walidacji pól.Ostatecznie jedynym rozwiązaniem, które udało mi się znaleźć, aby zapobiec wypełnianiu pól hasła LastPass w moim formularzu zmiany hasła, było:
input[type=password]
całkowicie ANDPonieważ w moim przypadku muszę mieć możliwość normalnego przesłania formularza, nadal korzystałem z mojego oryginalnego rozwiązania, aby zaktualizować nazwy pól „na czas”. Aby uniknąć korzystania z pól wprowadzania hasła, okazało się, że to rozwiązanie działa bardzo dobrze.
źródło
Próbowałem -search rename, ale z jakiegoś powodu nie zadziałało. Dla mnie zadziałało:
Wypróbowane i przetestowane w najnowszych wersjach FF i Chrome.
źródło
Oto, co zadziałało, aby zapobiec wypełnianiu przez lastpass brzytwy @ Html.EditorFor box w Chrome:
Kliknij aktywną ikonę LastPass na pasku narzędzi, a następnie przejdź do Opcje konta> Preferencje rozszerzeń.
Na tym ekranie zaznacz opcję „Nie zastępuj pól, które są już wypełnione” (na dole)
Następnie kliknij „zaawansowane” po lewej stronie.
Na tym ekranie zaznacz „Respect AutoComplete = off: zezwól witrynom na wyłączanie autouzupełniania”.
Nie musiałem robić nic specjalnego w moim formularzu cshtml ASP, ale miałem wartość domyślną w formularzu dla pola @ Html.EditorFor.
Mam nadzieję, że to pomoże i zadziała dla kogoś. Nie mogłem znaleźć żadnej pomocy specyficznej dla Razor na ten problem w Internecie, więc pomyślałem, że dodam to, ponieważ odkryłem to za pomocą powyższego linku i wkładów.
źródło