Kullanıcıların giriş alanlarına yapıştırma yapmasını engeller

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

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:

  1. Etkinlik İşleyici Kesme Noktaları bölmesini genişletin.
  2. Pano listesini genişletin.
  3. paste onay kutusunu işaretleyin.
  4. Sayfanızdaki şifre alanına bir metin yapıştırın.
  5. 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