يتم منع المستخدمين من اللصق في حقول الإدخال

تدّعي بعض المواقع الإلكترونية أنّ السماح للمستخدمين بلصق كلمات المرور يحدّ من مستوى الأمان. ومع ذلك، يؤدي لصق كلمة المرور في الواقع إلى تحسين الأمان لأنه يتيح استخدام برامج إدارة كلمات المرور.

تنشئ تطبيقات إدارة كلمات المرور عادةً كلمات مرور قوية للمستخدمين وتخزّنها بشكل آمن ثم تلصقها تلقائيًا في حقول كلمات المرور كلما احتاج المستخدمون إلى تسجيل الدخول. يُعد هذا الأسلوب أكثر أمانًا بشكل عام من إجبار المستخدمين على كتابة كلمات مرور قصيرة بدرجة كافية.

وفي الحالة العامة، يجب عدم منع المستخدمين من اللصق في عناصر <input>.

كيفية تعذُّر تدقيق Lighthouse هذا

تضع خدمة Lighthouse علامة على الرمز الذي يمنع المستخدمين من اللصق في حقول إدخال غير للقراءة فقط:

تُظهِر عملية تدقيق أداة Lighthouse أن الصفحة تمنع المستخدمين من اللصق في حقل كلمة المرور.

تجمع أداة Lighthouse جميع عناصر <input> غير للقراءة فقط، وتلصق بعض النص في كل عنصر، ثم تتحقّق من أنّ حدث paste لم يتم منعه بواسطة معالج أحداث مخصّص.

يمكن أيضًا منع اللصق خارج أداة معالجة حدث paste. لم ترصد أداة Lighthouse هذا السيناريو.

كيفية تفعيل اللصق في حقول كلمة المرور

ابحث عن الرمز الذي يمنع اللصق

للعثور بسرعة على الرمز الذي يمنع اللصق وفحصه:

  1. وسِّع لوحة النقاط الفاصلة لأداة الاستماع إلى الأحداث.
  2. وسِّع قائمة الحافظة.
  3. ضَع علامة في مربّع الاختيار paste.
  4. الصق النص في حقل كلمة المرور على صفحتك.
  5. يجب إيقاف أدوات مطوّري البرامج مؤقتًا عند السطر الأول من الرمز في أداة معالجة حدث paste ذي الصلة.

إزالة الرمز الذي يمنع اللصق

غالبًا ما يكون مصدر المشكلة هو طلب الرقم preventDefault() ضمن أداة معالجة حدث paste والمرتبط بعنصر إدخال كلمة المرور:

let input = document.querySelector('input');

input.addEventListener('paste', (e) => {
  e.preventDefault(); // This is what prevents pasting.
});

إذا كنت تستمع فقط إلى لصق الأحداث من أجل منع حدوثها، يمكنك إزالة أداة معالجة الحدث بالكامل.

المراجِع

رمز المصدر لتدقيق منع المستخدمين من اللصق في حقول الإدخال