Soru Giriş tipi = şifre, tarayıcının şifreyi hatırlamasına izin verme


Bir sahip olmak için bir yol gördüğümü hatırlıyorum. <input type="password" /> öyle ki tarayıcı değil kullanıcıdan parolayı kaydetmesini isteyin. Ama boş bir çizim yapıyorum. Bunu yapacak bir HTML niteliği veya bazı JavaScript hilesi var mı?


86
2018-01-22 07:13


Menşei


Kopyası stackoverflow.com/questions/32369/... - Jon Skeet


Cevaplar:


Kullanmayı deneyin autocomplete="off". Yine de, her tarayıcının desteklediğinden emin değil. MSDN belgeleri İşte.

DÜZENLE: Not: Çoğu tarayıcı bu özellik için desteği düşürmüştür. Görmek Otomatik tamamlama = tüm modern tarayıcılarla uyumlu "kapalı" mı?

Bu tartışmalı bir şekilde web sitesi tasarımcısı yerine kullanıcıya bırakılması gereken bir şeydir.


115
2018-01-22 07:15



Bunun doğrulanmayacağını unutmayın. - Jan Hančič
Sayfayı HTTPS ile ve HTTP üstbilgisi veya META etiketiyle önbelleğe almayı da engelleyebilirsiniz. Bu şekilde, şifre de saklanmayacaktır (en azından Internet Explorer'da). - doekman
Doğrulama ile ilgili olarak, HTML5, otomatik tamamlama özelliğini şu özelliklere ekler: - VictorySaber
Gelecek okuyucular için not: Tüm önemli tarayıcılar özniteliği görmezden gelmeye doğru ilerliyor. (görmek stackoverflow.com/a/21348793/37706) - rdans
"Bu tartışmalı bir şekilde web sitesi tasarımcısı yerine kullanıcıya bırakılması gereken bir şey." Buna sahip olmanın teknik ve teknik olmayan iki nedeni vardır. Örneğin bir kerelik şifreler hatırlanmamalıdır. "PIN'inizin ilk rakamını girin" ile banka siteleri başka bir şeydir. Bir iş analisti, bir şifre alanı istediğine ve geliştiriciden seçimi kaldırmaya karar verebileceğini unutmayın. - Sprague


<input type="password" autocomplete="off" />

Bunu bir kullanıcı olarak eklemek istiyorum. çok sinir bozucu ve üstesinden gelmek için bir güçlük. Kullanıcılarınızı ağırlaştırmaktan daha fazla olacağı için bunu kullanmamaya şiddetle tavsiye ederim.

Şifreler MRU'da zaten kayıtlı değildir ve doğru yapılandırılmış genel makineler kullanıcı adını bile kaydetmez.


60
2018-01-22 07:17



"Kullanıcılarınızı rahatsız etmeyin" için +1. Tam olarak böyle bir özellik var. Yalnızca önbelleğe almayı zorlaştıran siteler gibi, geri düğmesi de formu temizler. Aşırı rahatsız edici. - cletus
+1 Tamamen katılıyorum. Bir yönetici için, değiştirmek istediğinizde yalnızca bir şifre girdiğiniz müşteri profili sayfasını düzenleyin. Bu şekilde, yöneticiler müşterinin bilgilerini düzenlemek için gittikleri her sefer şifreyi değiştirmez. - DavGarcia
Kredi kartı numarası alanları için çok kullanışlıdır. PayPal'ın formu her tarayıcıda saklanır ve bilgisayarınızı kullanan herkes tüm verileri yeniden girebilir, böylece tüm hatırlanan alanları manuel olarak silmeniz ve silmeniz gerekir. - Egor Pavlikhin
Kullanıcının oturum açma işlemiyle hiçbir ilgisi olmayan bir parola ayarlayabileceği bir formda, otomatik tamamlamayı etkinleştirmek aslında daha rahatsız edici bir seçenektir - tarayıcı aslında bir şey yapamayacağı bir parola kaydetmeyi önerebilir. Ayrıca, güvenlik hassas bir sorunsa, tüm kamu makinelerinin doğru yapılandırıldığını varsaymazdım. - jrb
Bunu bir kerelik kullanım şifresi için kullanıyorum. Jrb dediği gibi, tarayıcı onu saklarsa çok can sıkıcı olurdu. - Danation


Başka bir şekilde çözdüm. Bunu deneyebilirsin.

<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
// Using jQuery
$(function(){                                               
    setTimeout(function(){
        $("input#passfld").attr("type","password");
    },10);
});


// or in pure javascript
 window.onload=function(){                                              
    setTimeout(function(){  
        document.getElementById('passfld').type = 'password';
    },10);
  }   
</script>

#diğer yol

 <script type="text/javascript">    
 function setAutoCompleteOFF(tm){
    if(typeof tm =="undefined"){tm=10;}
    try{
    var inputs=$(".auto-complete-off,input[autocomplete=off]"); 
    setTimeout(function(){
        inputs.each(function(){     
            var old_value=$(this).attr("value");            
            var thisobj=$(this);            
            setTimeout(function(){  
                thisobj.removeClass("auto-complete-off").addClass("auto-complete-off-processed");
                thisobj.val(old_value);
            },tm);
         });
     },tm); 
    }catch(e){}
  }
 $(function(){                                              
        setAutoCompleteOFF();
    });
</script>

// autocomplete = "off" özniteliğini eklemeniz gerekiyor veya girdi kutusuna .auto-complete-off sınıfını ekleyebilir ve keyfini çıkarabilirsiniz.

Örnek:

  <input id="passfld" type="password" autocomplete="off" />
    OR
  <input id="passfld" class="auto-complete-off" type="password"  />

11
2017-09-30 06:38



Bu, senaryoyu daha iyi bir çözüm olan otomatik tamamlamayı engellemek yerine şifreyi saklamak için tarayıcıyı engeller. - Pau Fracés
benim için çalışmıyor. firefox 40 denedim - Anto
Teşekkürler, en yeni kromda çalıştım Lütfen Dikkat: Yalnızca Chrome'a ​​izin verilen dahili bir sistemde kullanıldığında, üretim alanında kullanımda daha fazla test yapılır. - Izion
@AntoVinish, Umarım firefox 40'daki son çözümüm. - SarwarCSE


Güvenlik konularına gelince, burada bir güvenlik danışmanı tüm saha konusunda size bir fikir verecektir (gerçek bağımsız bir güvenlik denetiminden):

HTML Otomatik Tamamlama Etkin - HTML formlarındaki şifre alanlarının otomatik tamamlaması etkinleştirildi. Çoğu tarayıcının, HTML formlarına girilen kullanıcı kimlik bilgilerini hatırlama özelliği vardır.

Göreli Risk: Düşük

Etkilenen Sistemler / Cihazlar:      o https: //*******/

Ben de bu kapsamalıdır katılıyorum herhangi Gerçekten özel verileri içeren alan. Bir kişinin her zaman güvenli bir şekilde (evrensel olarak veya yasal uyumluluk gerekliliklerine göre) saklanması gereken her şeye erişmesi durumunda kredi kartı bilgilerini, CVC kodunu, şifrelerini, kullanıcı adlarını vb. Örneğin: satın alma formları, banka / kredi siteleri, vergi siteleri, tıbbi veriler, federal, nükleer vb. değil Yığın Taşması veya Facebook gibi siteler.

Diğer site türleri - ör. TimeStar Online işin içine ve dışına çıkış yapmak için - bu aptaldır, çünkü her zaman işimde aynı PC'yi / hesabı kullanıyorum, o sitedeki kimlik bilgilerini kaydedemiyorum - Android'imde tutabildiğim kadar tuhaf bir iPad'de değil. Hatta paylaşılan PC'ler bu çok kötü olmaz çünkü bir başkası için giriş / çıkış gerçekten bir şey yapmaz ama amirinizi rahatsız eder. (Hatalı yumruklara girip silmeleri gerekiyor - sadece kamu bilgisayarlarına kaydetmemeyi tercih ediniz).


5
2018-05-23 16:51



Sadece bir sebep için buraya bir yorum eklemek istiyorum değil şifre kaydetmek istiyorum. Yöneticilerin bir kullanıcının şifresini değiştirebileceği kullanıcı hesaplarına sahip bir web sitesi hazırlıyorum. Müşteri şu anda Chrome'un "şifre değiştir" formunda girilen şifreyi kaydetme teklifini çileden çıkardı her kullanıcı için her seferindeÇünkü kullanıcı formunu düzenleme formu olarak yanlış tanımlamaktadır. Görünüşe göre, "Sadece Şifremi Asla Unutmayın" gibi basit talimatlar vermek, bunların ötesinde. - charredUtensil


Aşağıdakileri denedim ve herhangi bir tarayıcı için çalışır gibi görünüyor:

<input id="passfld" type="text" autocomplete="off" />

<script type="text/javascript">
    $(function(){  
        var passElem = $("input#passfld");
        passElem.focus(function() { 
            passElem.prop("type", "password");                                             
        });
    });
</script>

Bu yol, zaman aşımı tekniklerini kullanmaktan çok daha güvenlidir, çünkü kullanıcı alana odaklandığında giriş alanının şifre vereceğini garanti eder.


5
2018-03-10 16:53



En temiz çözüm, teşekkürler. - Thomas
2016 yılının Eylül ayı itibariyle Safari ile çalışmaz - R. van Twisk


İşte en iyi cevap ve en kolay! Ekstra bir şifre alanı önünüze koyun input alan ve display:noneBöylece tarayıcı onu doldurduğunda bunu bir input umrumda değilsin.

Bunu değiştir:

<input type="password" name="password" size="25" class="input" id="password" value="">

buna:

<input type="password" style="display:none;">
<input type="password" name="password" size="25" class="input" id="password" value="">

3
2017-08-26 21:45



Benim için çalışmıyor ( - Cedric Simon
Aslında, 2 şifre alanı formda ise çalışır, ancak görünür ve etkin değilse yeni tarayıcı 2. parolayı yoksayar. - Cedric Simon
kullanma display:none benim için çalışmaz (Chrome 61 OSX), ancak bu şunları yapar: <input type="password" style="position: absolute; top: -1000px;"> - John Hascall


JQuery'yi kullanabilirsiniz, öğeyi kimliğe göre seçin:

$("input#Password").attr("autocomplete","off");

Veya öğeyi türe göre seçin:

$("input[type='password']").attr("autocomplete","off");

Veya ayrıca:

Saf Javascript'i kullanabilirsiniz:

document.getElementById('Password').autocomplete = 'off';

2
2018-04-05 20:34