LastPass'in bir form doldurmasını durdurun


131

LastPass tarayıcı uzantısının HTML tabanlı bir formu "kullanıcı adı" adlı bir giriş alanıyla doldurmasını önlemenin bir yolu var mı?

Bu gizli bir alan, bu nedenle herhangi bir yazılımın bu alanı kendi amaçları için kullanmasını istemiyorum:

<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">

Çözüm, "giriş alanını yeniden adlandır" gibi olmamalıdır.


12
Alan gizliyse, type="hidden"CSS ile gizlemek yerine ayarlamak daha iyidir
Reeno

2
Görünüşe göre yanlış cevabı kabul etmişsiniz çünkü işe yaramıyor ... Alexander'ın önerdiği şey işe yarıyor, bu yüzden seçiminizi değiştirmek isteyebilirsiniz;)
Dominique

2
süper basit $(':input').attr('data-lpignore', true);Hepsi bu. Bu, tüm formları doldurarak son geçiş formunu kapatacaktır.
Adarsh ​​Madrecha

Yanıtlar:


171

Ekleme

data-lpignore="true"

bir giriş alanına gri LastPass [...] kutusunu devre dışı bıraktım.

Kaynaklı LastPass.com


5
Bu geçerli cevap olmalıdır. LP bu özelliğe saygı duyuyor gibi görünüyor ve herhangi bir çılgın "arama" adı veya kimliği veya rolü gerektirmiyor.
Corneliu

28
bu yalnızca gri simgeyi kaldırır, ancak LastPass'in girişi otomatik doldurmayı göz ardı etmesini durdurmaz
Arnis Juraga

26
"LastPass'ın bir form doldurmasını DURDURMAYACAK" için bu cevap kabul EDİLMEMELİDİR
Conrad Warhol

3
Yanıtta verilen bağlantıya göre ( lastpass.com/support.php?cmd=showfaq&id=10512 ), LP yalnızca simgenin o alanda görüntülenmesini engeller
Kunal

47

İki koşulun karşılanması gerekir:

  1. Form (değil eleman) sahip olması gerekir autocomplete="off"niteliği
  2. Son geçiş kullanıcısının bu seçeneği etkinleştirmesi gerekir: Settings > Advanced > Allow pages to disable autofill

Yani bu hem kullanıcıya hem de geliştiriciye bağlıdır.


39

Benim için işe yarayan şey, formun id'sinde "-arama-" kelimesinin bulunması, buna benzer bir şey <form id="affiliate-search-form">- ve lastpass öğelerini form girişlerine eklemiyor . Daha basit bir şeyle çalışır, <form id="search">ancak çalışmaz<form id="se1rch">


8
Ayrıca şu durumlarda da bastırılır: - alan adı veya sınıf özelliği "arama" veya "srch" kelimelerini içeriyorsa - form kimliği veya ad özelliği "arama" içeriyorsa - form rolü özelliği "arama" ise
e1v

1
Maalesef bu, şifre alanları için çalışmaz. Etkili bir şekilde, form hala otomatik olarak doldurulur. Benim durumumda, searchhem kullanıcı adına hem de şifreye sınıflar olarak eklemek , kullanıcı adı alanındaki yıldız düğmesini devre dışı bıraktı, ancak şifre alanı olduğu gibi kaldı.
Mike Rockétt

2
Evet, bu yaklaşımı kullanırken şifre alanlarının hala doldurulduğunu onaylayabilirim. :-(
Simon East

7
Bu artık mevcut Lastpass sürümleri için geçerli değildir. Yani bu cevap kaldırılmalıdır.
Heroselohim

4
Tek bir giriş alanının kimliğine -arama- eklemek benim için Chrome 51, LastPass 4.1.17'de çalışıyor. Forma eklemek yardımcı olmuyor.
Alex2php

18

Buradaki partiye geç kaldığımı biliyorum, ama bunu formlarımı mahvetmekten son geçişi durdurmaya çalışırken buldum. @takeshin, otomatik tamamlamanın yeterli olmadığı konusunda doğru. Sadece sembolü gizlemek için aşağıdaki hack işlemini yaptım. Hoş değil ama simgeden kurtuldum.

Herhangi bir son geçiş geliştiricisi bunu okuyorsa, lütfen bize kullanmamız için bir özellik verin, böylece böyle şeylere başvurmak zorunda kalmayız.

form[autocomplete="off"] input[type="text"] {
    background-position: 150% 50% !important;
}

2
Benim için işe yarayan tek çözüm budur (zaten kullanıcımın yapmasını beklemediğim son geçiş ayarlarıyla oynarken bile), ancak background-imagegiriş alanlarında kendi ayarımı ayarlamamla çelişiyor ("temizlemeyi seviyorum" düğmeleri "giriş alanlarında) - bu durumda benim için de işe yarayan şey sadece ayarlamak background-imageve background-positionile !importantlastpass yerleşik stilini geçersiz kılmaktı.
Guss

Çok yaratıcı düşünce! Bunun için teşekkürler!
Howard

18

Ben düşünüyorum LastPass Başarılar autocomplete="off"girişler için niteliğini, ama emin% 100 değilim.

DÜZENLEME Başkalarının da belirttiği gibi. bu yalnızca, kullanıcı buna uyacak şekilde yapılandırılmış son geçişe sahipse çalışır.


20
Evet öyle, ancak varsayılan olarak değil: helpdesk.lastpass.com/extension-preferences/advanced
Marco

12
Lastpass'ın autocomplete="off"form düzeyinde geçerli olmadığını onaylayabilirim . Bu, yanlış e-posta adresini görüntüleyen bir "kullanıcıyı düzenle" formunda geliştirme için bir saatimi boşa harcadı. Son geçiş tercihlerinde "önceden doldurulmuş alanların üzerine yazma" seçeneği vardır ve bu çok yardımcı olur.
Jason

7
Marco'nun da belirttiği gibi, bu davranışı etkinleştirmeniz gerekiyor. Tercihler-> Gelişmiş-> Otomatik Tamamlamaya Saygı = kapalı: web sitelerinin Otomatik Doldurmayı devre dışı bırakmasına izin ver
Dan

bunu son geçişte nasıl atlarsın?
Crash893

14

Benim type=searchiçin textya eşit olan ya da kullanan çalıştı role=note.

LastPass-JavaScript'i kontrol edebilirsiniz, ancak çok büyük, orada bazı geçici çözümler bulabilirsiniz, gördüklerime göre sadece 4 giriş türünü kontrol ediyorlar, bu yüzden input type=searchbir geçici çözüm olurdu:

!c.form && ("text" == c.type || "password" == c.type || "url" == c.type || "email" == c.type) && lpIsVisible(c))

Ayrıca role, görmezden geldikleri anahtar kelimeler:

var c = b.getAttribute("role");
switch (c) {
case "navigation":
case "banner":
case "contentinfo":
case "note":
case "search":
case "seealso":
case "columnheader":
case "presentation":
case "toolbar":
case "directory":`

LastPass'ı kontrol ettim onloadwff.js, 26.960 satır koda hazırlanın :)


5
Yukarıdaki tüm cevapları denedim ve type=searchbenim için çalışan tek şey bu.
Ryan King

1
+1, type=searchLastPass'ın "Otomatik tamamlamaya saygı = kapalı" ayarının durumuna bakılmaksızın otomatik doldurmayı önlemenin tek yolu gibi görünüyor .
johnnyRose

role="note"Veya eklemeyi denedim type="search". Hiçbiri en son Chrome ve en son son geçişte çalışmadı.
Nikita 웃

lpignoretekrar çalışıyor gibi görünüyor, beni https://jsfiddle.net/78z0L1sa/3/
kandırın

Aman Tanrım, bu can sıkıcı, LastPass benim tür = metin parolamı tür = parola'ya dönüştürüyordu ve bu belirli ekranda parolanın görülmesi gerekiyordu, ardından LastPass, kullanıcının ne zaman kaydettiğini bilmeden doğru parolayı değil site parolasını ekledi. kimlik bilgilerini değiştiriyor ve diğer sistemlerle bağlantılarını kesiyordu. Lpignore yalnızca simgeyi kaldırdı, diğer çözümler kullanıcı etkileşimi gerektirdi, ki bu ideal değil. Son olarak, türü arama olarak değiştirmek işe yaradı; Başkasının yazılımı yüzünden bunu yapmaktan nefret etmeme rağmen. Her neyse, buna oy verin.
Jason Martin

10

Kimliği girmek için "arama" ekleyin

<input type="text" name="user" id="user-search"/>

1
Benim için iyi çalışıyor. En son Chrome'da test edilmiştir. Biraz hile, ama diğerleri kadar potansiyel olarak kırılma değil, bu yüzden bunun için gideceğim.
Tedd Hansen

6

Partiye biraz geç kaldım ama bunu şu şekilde değiştirerek başardım:

<form autocomplete="off" name="lastpass-disable-search">

Sanırım bu aptallar en sonunda bunun bir arama formu olduğunu düşünmeye başladılar. Ancak bu, şifre alanları için çalışmaz! Lastpass, bu durumda ad alanını yok sayar.

Bunu yapabilmemin tek yolu, aşağıdakileri doğrudan formun en üstüne eklemektir:

<form autocomplete="off">
    <div id="lp" ><input type="text" /><input type="password" /></div><script type="text/javascript">setTimeout(function(){document.getElementById('lp').style.display = 'none'},75);</script>
</form>

Kötü bir titreşime neden olur, ancak otomatik doldurma saçmalığını ortadan kaldırır - yine de "parola oluştur" widget'ını gösterir. LastPass, domready olana kadar bekler ve sonra görünür parola alanları olup olmadığını kontrol eder, bu nedenle yukarıdaki sahte alanları gizlemek veya küçültmek mümkün değildir.


5

Lastpass'ın bu son Ekim 2019 buggy sürümü için bu basit düzeltme en iyisi gibi görünüyor.

Ekle

type="search"

girişinize.

Lastpass rutini type, otomatik doldurma ile ne yapılacağını belirlemek için özniteliği kontrol eder ve bu html5 type"arama" üzerinde hiçbir şey yapmaz . Elbette bu biraz karmaşık, ancak buggy komut dosyasını düzelttiklerinde kolayca kaldırılabilen tek satırlık bir değişiklik.

Not: Bunu yaptıktan sonra, typeözniteliği alırlarsa girdiniz bazı tarayıcılar tarafından farklı bir şekilde tasarlanmış görünebilir . Bu dikkat ederseniz, tarayıcıya özgü CSS özelliklerini ayarlayarak bunun olmasını önleyebilir -webkit-appearanceve -moz-appearancekarşı 'none'girişinizi.


4

Bu ES6 stil kodu, tüm giriş kontrollerime data-lpignore eklediğinden benim için yararlı oldu :

const elements = document.getElementsByTagName("INPUT");
for (let element of elements) {
    element.setAttribute("data-lpignore", "true");
}

Belirli bir GİRİŞ kontrolüne erişmek için şöyle bir şey yazılabilir:

document.getElementById('userInput').setAttribute("data-lpignore", "true");

Veya sınıf adına göre yapabilirsiniz:

const elements = document.getElementsByClassName('no-last-pass');
for (let element of elements) {
    element.setAttribute("data-lpignore", "true");
}

1

Buradaki seçeneklerden hiçbiri (otomatik tamamlama, veri-lpignore vb.) LastPass'ın maalesef form alanlarımı otomatik doldurmasını engellemedi. Soruna daha çok balyoz yaklaşımı uyguladım ve namebunun yerine JavaScript aracılığıyla girdi özniteliklerini asenkron olarak ayarladım . Aşağıdaki jQuery bağımlı işlev (formun onsubmit olay işleyicisinden çağrılan) hile yaptı:

function setInputNames() {
    $('#myForm input').each(function(idx, el) {
        el = $(el);
        if (el.attr('tmp-name')) {
            el.attr('name', el.attr('tmp-name'));
        }
    });
}

$('#myForm').submit(setInputNames);

Formda, tmp-nameeşdeğer namenitelikler yerine nitelikleri kullandım. Misal:

<form id="myForm" method="post" action="/someUrl">
    <input name="username" type="text">
    <input tmp-name="password" type="password">
</form>

Güncelleme 2019-03-20

nameNgMessages'ın alan doğrulama hata mesajlarını doğru bir şekilde sunması için özniteliklere sahip form alanlarına bağlı olarak AngularJS nedeniyle yukarıda belirtilenlerle hala zorluklarla karşılaştım .

Sonuç olarak, LastPass'ın Şifre Değiştirme formumdaki şifre alanlarını doldurmasını engellemek için bulabildiğim tek çözüm şuydu:

  1. input[type=password]Tamamen kullanmaktan kaçının VE
  2. alan adında 'şifre' olmaması

Benim durumumda formu normal olarak gönderebilmem gerektiğinden, alan adlarını 'tam zamanında' güncellemek için orijinal çözümümü kullanmaya devam ettim. Şifre giriş alanlarını kullanmaktan kaçınmak için bu çözümün çok iyi çalıştığını gördüm .


0

-Aramayı yeniden adlandırmayı denedim, ancak bir nedenden dolayı işe yaramadı. Benim için işe yarayan şey şudur:

  1. formu otomatik tamamlama için işaretle - autocomplete = "off"
  2. form alanı giriş türünü metin olarak değiştirin
  3. girişi maskelemek için css'nize yeni bir sınıf ekleyin, bir şifre alanını simüle eder
  4. css bit: input.masker {-webkit-metin-güvenliği: disk; }

FF ve Chrome'un en son sürümlerinde denendi ve test edildi.


0

Lastpass'in Chrome'da bir jilet @ Html.EditorFor kutusunu doldurmasını önlemek için benim için işe yarayan şey:

Araç çubuğunuzdaki etkin LastPass simgesini tıklayın, ardından Hesap Seçenekleri> Uzantı Tercihleri'ne gidin.

Bu ekranda "Önceden doldurulmuş alanların üzerine yazma" seçeneğini işaretleyin (altta)

Ardından, soldaki "gelişmiş" seçeneğini tıklayın.

Bu ekranda "Otomatik Tamamlamaya Saygı Göster = kapalı: web sitelerinin Otomatik Doldurmayı devre dışı bırakmasına izin ver" seçeneğini işaretleyin.

ASP cshtml formumda özel bir şey yapmam gerekmiyordu ama @ Html.EditorFor kutusu formunda varsayılan bir değerim vardı.

Umarım bu yardımcı olur ve birisi için işe yarar. Web'de bu sorunla ilgili Razor'a özgü herhangi bir yardım bulamadım, bu yüzden yukarıdaki bağlantı ve katkıların yardımıyla anladığım için bunu ekleyeceğimi düşündüm.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.