लोगों को इनपुट फ़ील्ड में कॉन्टेंट चिपकाने से रोकता है

कुछ वेबसाइटों का दावा है कि उपयोगकर्ताओं को पासवर्ड चिपकाने की अनुमति देने से सुरक्षा कम हो जाती है. हालांकि, पासवर्ड चिपकाने से सुरक्षा बेहतर होती है, क्योंकि इससे पासवर्ड मैनेजर का इस्तेमाल किया जा सकता है.

पासवर्ड मैनेजर, आम तौर पर उपयोगकर्ताओं के लिए मज़बूत पासवर्ड जनरेट करते हैं और उन्हें सुरक्षित तरीके से सेव करते हैं. इसके बाद, जब भी उपयोगकर्ताओं को लॉग इन करना होता है, तो वे पासवर्ड फ़ील्ड में अपने-आप चिपक जाते हैं. आम तौर पर, यह तरीका उपयोगकर्ताओं को याद रखने लायक छोटे पासवर्ड टाइप करने के लिए मजबूर करने के मुकाबले ज़्यादा सुरक्षित होता है.

आम तौर पर, उपयोगकर्ताओं को <input> एलिमेंट में कॉन्टेंट चिपकाने से नहीं रोकना चाहिए.

Lighthouse का यह ऑडिट कैसे पूरा नहीं हो पाता

Lighthouse, ऐसे कोड को फ़्लैग करता है जो लोगों को नॉन-रीडओनली इनपुट फ़ील्ड में कॉन्टेंट चिपकाने से रोकता है:

लाइटहाउस ऑडिट से पता चलता है कि पेज, उपयोगकर्ताओं को पासवर्ड फ़ील्ड में पहले से कॉपी की गई जानकारी चिपकाने से रोकता है

Lighthouse, सभी ऐसे <input> एलिमेंट इकट्ठा करता है जो रीड-ओनली नहीं हैं. इसके बाद, हर एलिमेंट में कुछ टेक्स्ट चिपकाता है. इसके बाद, यह पुष्टि करता है कि paste इवेंट को कस्टम इवेंट हैंडलर ने रोका है या नहीं.

paste इवेंट लिसनर के बाहर चिपकाने से भी रोका जा सकता है. Lighthouse उस स्थिति का पता नहीं लगाता.

पासवर्ड फ़ील्ड में चिपकाने की सुविधा चालू करने का तरीका

वह कोड ढूंढना जो चिपकाने से रोक रहा है

चिपकाने से रोकने वाले कोड को तुरंत ढूंढने और उसकी जांच करने के लिए:

  1. इवेंट लिसनर ब्रेकपॉइंट पैनल को बड़ा करें.
  2. क्लिपबोर्ड सूची को बड़ा करें.
  3. paste चेकबॉक्स चुनें.
  4. अपने पेज पर पासवर्ड फ़ील्ड में कुछ टेक्स्ट चिपकाएं.
  5. DevTools को paste इवेंट लिसनर में, कोड की पहली लाइन पर रोकना चाहिए.

चिपकाने से रोकने वाला कोड हटाएं

आम तौर पर, समस्या का सोर्स पासवर्ड इनपुट एलिमेंट से जुड़े paste इवेंट लिसनर में preventDefault() को कॉल करना होता है:

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

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

अगर आपको चिपकाने से पहले ही उससे जुड़े इवेंट सुनने हैं, तो इवेंट लिसनर को हटा दें.

संसाधन

उपयोगकर्ताओं को इनपुट फ़ील्ड में कॉन्टेंट चिपकाने से रोकने वाले ऑडिट का सोर्स कोड