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

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 denetimi, sayfanın kullanıcıların şifre alanına yapıştırmasını engellediğini gösteriyor

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:

  1. Etkinlik İşleyici Ayrılma Noktaları bölmesini genişletin.
  2. Yapıştırma panosu listesini genişletin.
  3. paste onay kutusunu seçin.
  4. Sayfanızdaki bir şifre alanına metin yapıştırın.
  5. 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