Bazı web siteleri, kullanıcıların şifreleri yapıştırmasına izin vermenin güvenliği azalttığını iddia eder. Ancak şifrelerin yapıştırılması, şifre yöneticilerinin kullanılmasını sağladığı için güvenliği artırır.
Şifre yöneticileri genellikle kullanıcılar için güçlü şifreler oluşturur, bunları güvenli bir şekilde saklar ve kullanıcıların giriş yapması gerektiğinde otomatik olarak şifre alanlarına yapıştırır. Bu yaklaşım, kullanıcıları hatırlaması kolay şifreler yazmaya zorlamaktan genellikle daha güvenlidir.
Genel olarak, kullanıcıların <input>
öğelerine yapıştırması engellenmemelidir.
Bu Lighthouse denetiminin neden başarısız olduğu
Lighthouse, kullanıcıların salt okunur olmayan giriş alanlarına yapıştırmasını engelleyen kodu işaretler:
Lighthouse, salt okunur olmayan tüm <input>
öğelerini toplar, her öğeye bir miktar metin yapıştırır ve ardından paste
etkinliğinin özel bir etkinlik işleyici tarafından engellenmediğini doğrular.
paste
etkinlik işleyicisinin dışında yapıştırmayı da engelleyebilirsiniz.
Lighthouse bu senaryoyu algılamaz.
Şifre alanlarına yapıştırma özelliğini etkinleştirme
Yapıştırmayı engelleyen kodu bulma
Yapıştırmayı engelleyen kodu hızlıca bulup incelemek için:
- Etkinlik İşleyici Ayrılma Noktaları bölmesini genişletin.
- Yapıştırma panosu listesini genişletin.
paste
onay kutusunu seçin.- Sayfanızdaki bir şifre alanına metin yapıştırın.
- DevTools, ilgili
paste
etkinlik dinleyicisinin ilk kod satırında duraklatılmalıdır.
Yapıştırmayı engelleyen kodu kaldırın
Sorunun kaynağı genellikle şifre giriş öğesiyle ilişkili paste
etkinlik işleyicisinde preventDefault()
çağrısıdır:
let input = document.querySelector('input');
input.addEventListener('paste', (e) => {
e.preventDefault(); // This is what prevents pasting.
});
Yapıştırma etkinliklerini yalnızca önlemek için dinliyorsanız etkinlik işleyicinin tamamını kaldırın.
Kaynaklar
Kullanıcıların giriş alanlarına yapıştırmasını engeller denetimi için kaynak kod