تدّعي بعض المواقع الإلكترونية أنّ السماح للمستخدمين بلصق كلمات المرور يحدّ من مستوى الأمان. ومع ذلك، يؤدي لصق كلمة المرور في الواقع إلى تحسين الأمان لأنه يتيح استخدام برامج إدارة كلمات المرور.
تنشئ تطبيقات إدارة كلمات المرور عادةً كلمات مرور قوية للمستخدمين وتخزّنها بشكل آمن ثم تلصقها تلقائيًا في حقول كلمات المرور كلما احتاج المستخدمون إلى تسجيل الدخول. يُعد هذا الأسلوب أكثر أمانًا بشكل عام من إجبار المستخدمين على كتابة كلمات مرور قصيرة بدرجة كافية.
وفي الحالة العامة، يجب عدم منع المستخدمين من اللصق في عناصر <input>
.
كيفية تعذُّر تدقيق Lighthouse هذا
تضع خدمة Lighthouse علامة على الرمز الذي يمنع المستخدمين من اللصق في حقول إدخال غير للقراءة فقط:
تجمع أداة Lighthouse جميع عناصر <input>
غير للقراءة فقط،
وتلصق بعض النص في كل عنصر، ثم تتحقّق من أنّ حدث paste
لم يتم منعه بواسطة معالج أحداث مخصّص.
يمكن أيضًا منع اللصق خارج أداة معالجة حدث paste
.
لم ترصد أداة Lighthouse هذا السيناريو.
كيفية تفعيل اللصق في حقول كلمة المرور
ابحث عن الرمز الذي يمنع اللصق
للعثور بسرعة على الرمز الذي يمنع اللصق وفحصه:
- وسِّع لوحة النقاط الفاصلة لأداة الاستماع إلى الأحداث.
- وسِّع قائمة الحافظة.
- ضَع علامة في مربّع الاختيار
paste
. - الصق النص في حقل كلمة المرور على صفحتك.
- يجب إيقاف أدوات مطوّري البرامج مؤقتًا عند السطر الأول من الرمز
في أداة معالجة حدث
paste
ذي الصلة.
إزالة الرمز الذي يمنع اللصق
غالبًا ما يكون مصدر المشكلة هو طلب الرقم preventDefault()
ضمن أداة معالجة حدث paste
والمرتبط بعنصر إدخال كلمة المرور:
let input = document.querySelector('input');
input.addEventListener('paste', (e) => {
e.preventDefault(); // This is what prevents pasting.
});
إذا كنت تستمع فقط إلى لصق الأحداث من أجل منع حدوثها، يمكنك إزالة أداة معالجة الحدث بالكامل.