कुछ वेबसाइटों का दावा है कि उपयोगकर्ताओं को पासवर्ड चिपकाने की अनुमति देने से सुरक्षा कम हो जाती है. हालांकि, पासवर्ड चिपकाने से सुरक्षा बेहतर होती है, क्योंकि इससे पासवर्ड मैनेजर का इस्तेमाल किया जा सकता है.
पासवर्ड मैनेजर, आम तौर पर उपयोगकर्ताओं के लिए मज़बूत पासवर्ड जनरेट करते हैं और उन्हें सुरक्षित तरीके से सेव करते हैं. इसके बाद, जब भी उपयोगकर्ताओं को लॉग इन करना होता है, तो वे पासवर्ड फ़ील्ड में अपने-आप चिपक जाते हैं. आम तौर पर, यह तरीका उपयोगकर्ताओं को याद रखने लायक छोटे पासवर्ड टाइप करने के लिए मजबूर करने के मुकाबले ज़्यादा सुरक्षित होता है.
आम तौर पर, उपयोगकर्ताओं को <input>
एलिमेंट में कॉन्टेंट चिपकाने से नहीं रोकना चाहिए.
Lighthouse का यह ऑडिट कैसे पूरा नहीं हो पाता
Lighthouse, ऐसे कोड को फ़्लैग करता है जो लोगों को नॉन-रीडओनली इनपुट फ़ील्ड में कॉन्टेंट चिपकाने से रोकता है:
Lighthouse, सभी ऐसे <input>
एलिमेंट इकट्ठा करता है जो रीड-ओनली नहीं हैं. इसके बाद, हर एलिमेंट में कुछ टेक्स्ट चिपकाता है. इसके बाद, यह पुष्टि करता है कि paste
इवेंट को कस्टम इवेंट हैंडलर ने रोका है या नहीं.
paste
इवेंट लिसनर के बाहर चिपकाने से भी रोका जा सकता है.
Lighthouse उस स्थिति का पता नहीं लगाता.
पासवर्ड फ़ील्ड में चिपकाने की सुविधा चालू करने का तरीका
वह कोड ढूंढना जो चिपकाने से रोक रहा है
चिपकाने से रोकने वाले कोड को तुरंत ढूंढने और उसकी जांच करने के लिए:
- इवेंट लिसनर ब्रेकपॉइंट पैनल को बड़ा करें.
- क्लिपबोर्ड सूची को बड़ा करें.
paste
चेकबॉक्स चुनें.- अपने पेज पर पासवर्ड फ़ील्ड में कुछ टेक्स्ट चिपकाएं.
- DevTools को
paste
इवेंट लिसनर में, कोड की पहली लाइन पर रोकना चाहिए.
चिपकाने से रोकने वाला कोड हटाएं
आम तौर पर, समस्या का सोर्स पासवर्ड इनपुट एलिमेंट से जुड़े paste
इवेंट लिसनर में preventDefault()
को कॉल करना होता है:
let input = document.querySelector('input');
input.addEventListener('paste', (e) => {
e.preventDefault(); // This is what prevents pasting.
});
अगर आपको चिपकाने से पहले ही उससे जुड़े इवेंट सुनने हैं, तो इवेंट लिसनर को हटा दें.
संसाधन
उपयोगकर्ताओं को इनपुट फ़ील्ड में कॉन्टेंट चिपकाने से रोकने वाले ऑडिट का सोर्स कोड