Bazı web siteleri, kullanıcıların şifre yapıştırmasına izin vermenin güvenliği azalttığını iddia eder. Ancak şifre yapıştırma, şifre yöneticilerinin kullanılmasını sağladığından 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 ardından kullanıcıların giriş yapması gerektiğinde otomatik olarak şifre alanlarına yapıştırır. Bu yaklaşım, genellikle kullanıcıları hatırlayacak kadar kısa şifreler yazmaya zorlamaktan daha güvenlidir.
Genel durumda, kullanıcıların <input>
öğelerini yapıştırmaları engellenmemelidir.
Bu Lighthouse denetimi nasıl başarısız olur?
Lighthouse, kullanıcıların salt okunur olmayan giriş alanlarına yapıştırmalarını engelleyen kodu işaretler:
![Lighthouse denetimi, sayfanın kullanıcıların şifre alanına yapıştırma yapmasını engellediğini gösteriyor](https://developer.chrome.com/static/docs/lighthouse/best-practices/paste-preventing-inputs/image/lighthouse-audit-shows-pa-37a53608e65b1.png?authuser=5&hl=tr)
Lighthouse, salt okunur olmayan tüm <input>
öğelerini toplar, her bir öğeye bazı metin yapıştırır ve ardından paste
etkinliğinin bir özel etkinlik işleyici tarafından engellenmediğini doğrular.
paste
etkinlik işleyicinin dışına yapıştırmayı önlemek de mümkündür.
Lighthouse bu senaryoyu algılamaz.
Şifre alanlarına yapıştırma özelliğini etkinleştirme
Yapıştırılmasını engelleyen kodu bulma
Yapıştırılmasını engelleyen kodu hızlıca bulmak ve incelemek için:
- Etkinlik İşleyici Kesme Noktaları bölmesini genişletin.
- Pano listesini genişletin.
paste
onay kutusunu işaretleyin.- Sayfanızdaki şifre alanına bir metin yapıştırın.
- Geliştirici Araçları, ilgili
paste
etkinlik işleyicideki kodun ilk satırında duraklamalıdır.
Yapıştırılmasını engelleyen kodu kaldırın
Sorunun kaynağı genellikle şifre giriş öğesiyle ilişkilendirilmiş paste
etkinlik işleyici içindeki preventDefault()
çağrısıdır:
let input = document.querySelector('input');
input.addEventListener('paste', (e) => {
e.preventDefault(); // This is what prevents pasting.
});
Etkinlikleri yalnızca önceden ayırmak için yapıştırıyorsanız etkinlik işleyicinin tamamını kaldırın.
Kaynaklar
Kullanıcıların giriş alanlarına yapıştırmalarını engeller denetimi için kaynak kodu