मुझे याद है कि एक तरीका <input type="password" />
ऐसा है कि ब्राउज़र उपयोगकर्ता को पासवर्ड बचाने के लिए संकेत नहीं देगा । लेकिन मैं एक रिक्त आकर्षित कर रहा हूं। क्या कोई HTML विशेषता या कोई जावास्क्रिप्ट चाल है जो ऐसा करेगी?
मुझे याद है कि एक तरीका <input type="password" />
ऐसा है कि ब्राउज़र उपयोगकर्ता को पासवर्ड बचाने के लिए संकेत नहीं देगा । लेकिन मैं एक रिक्त आकर्षित कर रहा हूं। क्या कोई HTML विशेषता या कोई जावास्क्रिप्ट चाल है जो ऐसा करेगी?
जवाबों:
प्रयोग करके देखें autocomplete="off"
। यकीन नहीं होता कि हर ब्राउज़र इसे सपोर्ट करता है, हालाँकि। MSDN डॉक्स यहाँ ।
EDIT : नोट: अधिकांश ब्राउज़रों ने इस विशेषता के लिए समर्थन छोड़ दिया है। देखें सभी आधुनिक ब्राउज़रों के साथ "बंद" संगत है स्वत: पूर्ण =?
यह यकीनन कुछ ऐसा है जिसे वेब साइट डिजाइनर के बजाय उपयोगकर्ता तक छोड़ दिया जाना चाहिए।
<input type="password" autocomplete="off" />
मैं यह जोड़ना चाहूंगा कि एक उपयोगकर्ता के रूप में मुझे लगता है कि यह बहुत कष्टप्रद है और इससे उबरने में परेशानी होती है। मैं इसका उपयोग करने के खिलाफ दृढ़ता से अनुशंसा करता हूं क्योंकि यह आपके उपयोगकर्ताओं को बढ़ने की संभावना से अधिक होगा।
पासवर्ड पहले से ही एमआरयू में संग्रहीत नहीं हैं, और सही ढंग से कॉन्फ़िगर की गई सार्वजनिक मशीनें उपयोगकर्ता नाम भी नहीं बचाएंगी।
मैंने दूसरे तरीके से हल किया। आप यह कोशिश कर सकते हैं।
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
// Using jQuery
$(function(){
setTimeout(function(){
$("input#passfld").attr("type","password");
},10);
});
// or in pure javascript
window.onload=function(){
setTimeout(function(){
document.getElementById('passfld').type = 'password';
},10);
}
</script>
#दूसरा रास्ता
<script type="text/javascript">
function setAutoCompleteOFF(tm){
if(typeof tm =="undefined"){tm=10;}
try{
var inputs=$(".auto-complete-off,input[autocomplete=off]");
setTimeout(function(){
inputs.each(function(){
var old_value=$(this).attr("value");
var thisobj=$(this);
setTimeout(function(){
thisobj.removeClass("auto-complete-off").addClass("auto-complete-off-processed");
thisobj.val(old_value);
},tm);
});
},tm);
}catch(e){}
}
$(function(){
setAutoCompleteOFF();
});
</script>
// आपको विशेषता स्वत: पूर्ण = "बंद" जोड़ने की आवश्यकता है या आप वर्ग जोड़ सकते हैं। इनपुट बॉक्स में ऑटो-पूर्ण-बंद करें और आनंद लें
उदाहरण:
<input id="passfld" type="password" autocomplete="off" />
OR
<input id="passfld" class="auto-complete-off" type="password" />
मैंने निम्नलिखित की कोशिश की और ऐसा लगता है कि किसी भी ब्राउज़र के लिए काम करता है:
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
$(function(){
var passElem = $("input#passfld");
passElem.focus(function() {
passElem.prop("type", "password");
});
});
</script>
यह तरीका टाइमआउट तकनीकों का उपयोग करने की तुलना में बहुत अधिक सुरक्षित है, क्योंकि यह गारंटी देता है कि उपयोगकर्ता द्वारा ध्यान केंद्रित करने पर इनपुट फ़ील्ड को पासवर्ड मिलेगा।
सुरक्षा मुद्दों के लिए, यहाँ एक सुरक्षा सलाहकार आपको पूरे क्षेत्र के मुद्दे पर बताएगा (यह एक वास्तविक स्वतंत्र सुरक्षा ऑडिट से है):
HTML स्वतः पूर्ण सक्षम - HTML प्रपत्रों में पासवर्ड फ़ील्ड स्वत: पूर्ण सक्षम हैं। अधिकांश ब्राउज़रों को HTML फॉर्म में दर्ज किए गए उपयोगकर्ता क्रेडेंशियल्स को याद रखने की सुविधा है।
रिलेटिव रिस्क: लो
प्रभावित सिस्टम / उपकरण: o https: // * ** * *** /
मैं यह भी मानता हूं कि यह किसी भी क्षेत्र को कवर करना चाहिए जिसमें वास्तव में निजी डेटा शामिल है। मुझे लगता है कि किसी व्यक्ति को हमेशा अपने क्रेडिट कार्ड की जानकारी, सीवीसी कोड, पासवर्ड, उपयोगकर्ता नाम, आदि लिखने के लिए मजबूर करना ठीक है, जब भी उस साइट पर किसी भी चीज की पहुंच हो, जिसे सुरक्षित रखा जाना चाहिए [सार्वभौमिक रूप से या कानूनी अनुपालन आवश्यकताओं द्वारा]। उदाहरण के लिए: खरीद फॉर्म, बैंक / क्रेडिट साइट, टैक्स साइट, मेडिकल डेटा, फेडरल, न्यूक्लियर आदि - न कि स्टैक ओवरफ्लो या फेसबुक जैसी साइटें।
अन्य प्रकार की साइटें - उदाहरण के लिए टाइमस्टार ऑनलाइन इन और वर्क आउट से घबराने के लिए - यह बेवकूफी है, क्योंकि मैं हमेशा काम में एक ही पीसी / खाते का उपयोग करता हूं, कि मैं उस साइट पर क्रेडेंशियल्स नहीं बचा सकता हूं - अजीब तरह से मैं अपने एंड्रॉइड पर कर सकता हूं लेकिन एक iPad पर नहीं। यहां तक कि साझा किए गए पीसी यह बहुत बुरा नहीं होगा क्योंकि किसी और के लिए घड़ी में / बाहर वास्तव में कुछ भी नहीं करता है लेकिन आपके पर्यवेक्षक को परेशान करता है। (उन्हें गलत पंचों को हटाने और हटाने के लिए जाना है - बस सार्वजनिक पीसी पर सहेजने के लिए नहीं चुनें)।
<input type="password" placeholder="Enter New Password" autocomplete="new-password">
हेयर यू गो।
यहाँ सबसे अच्छा जवाब है, और सबसे आसान है! अपने input
क्षेत्र के सामने एक अतिरिक्त पासवर्ड फ़ील्ड रखें और सेट करें display:none
, ताकि जब ब्राउज़र इसे भरता है, तो यह ऐसा करता है input
जिसमें आपको परवाह नहीं है।
इसे बदलो:
<input type="password" name="password" size="25" class="input" id="password" value="">
इसके लिए:
<input type="password" style="display:none;">
<input type="password" name="password" size="25" class="input" id="password" value="">
display:none
मेरे लिए काम नहीं करता (क्रोम 61 OSX), लेकिन यह करता है:<input type="password" style="position: absolute; top: -1000px;">
इस उत्तर को भी पढ़ें जहां वह इस आसान समाधान का उपयोग कर रहा है जो हर जगह काम करता है (सफारी मोबाइल के लिए फिक्स भी देखें):
<input type="password" readonly onfocus="this.removeAttribute('readonly');"/>
आप JQuery का उपयोग कर सकते हैं, आईडी द्वारा आइटम का चयन करें:
$("input#Password").attr("autocomplete","off");
या प्रकार से आइटम का चयन करें:
$("input[type='password']").attr("autocomplete","off");
या यह भी:
आप शुद्ध जावास्क्रिप्ट का उपयोग कर सकते हैं:
document.getElementById('Password').autocomplete = 'off';
आप इसे निम्नलिखित की तरह भी उपयोग कर सकते हैं
$('#Password').attr("autocomplete", "off");
setTimeout('$("#Password").val("");', 2000);
स्वतः पूर्ण के रूप में देखना = बंद हो जाना, मैं हाल ही के समाधान का सुझाव देता हूं।
अपने पासवर्ड फ़ील्ड को एक सामान्य टेक्स्ट फ़ील्ड पर सेट करें, और सीएसएस का उपयोग करके अपने इनपुट को "डिस्क" के साथ मास्क करें। कोड इस तरह दिखना चाहिए:
<input type="text" class="myPassword" />
input .myPassword{
text-security:disc;
-webkit-text-security:disc;
-mox-text-security:disc;
}
कृपया ध्यान दें कि यह फ़ायरफ़ॉक्स ब्राउज़र पर पूरी तरह से काम नहीं कर सकता है, और अतिरिक्त चलने की आवश्यकता है। इसके बारे में यहाँ और अधिक पढ़ें: https://stackoverflow.com/a/49304708/5477548 ।
इस लिंक से समाधान लिया गया था , लेकिन एसओ "नो-हॉटलिंक" के अनुपालन के लिए मैंने इसे यहाँ संक्षेप में प्रस्तुत किया।
अधिकांश प्रमुख ब्राउज़रों के मामले में, किसी इनपुट के बाहर और किसी भी रूप से कनेक्ट नहीं होने के बावजूद जो ब्राउज़र को सोचता है कि कोई सबमिशन नहीं है। इस स्थिति में, आपको अपने लॉगिन के लिए शुद्ध जेएस सत्यापन का उपयोग करना होगा और आपके पासवर्ड का एन्क्रिप्शन भी आवश्यक होगा।
इससे पहले:
<form action="..."><input type="password"/></form>
उपरांत:
<input type="password"/>
मैंने फ़ायरफ़ॉक्स और क्रोम पर निम्नलिखित काम किए हैं।
<form ... > <!-- more stuff -->
<input name="person" type="text" size=30 value="">
<input name="mypswd" type="password" size=6 value="" autocomplete="off">
<input name="userid" type="text" value="security" style="display:none">
<input name="passwd" type="password" value="faker" style="display:none">
<!-- more stuff --> </form>
ये सभी फॉर्म सेक्शन के भीतर हैं। "व्यक्ति" और "mypswd" वही हैं जो आप चाहते हैं, लेकिन ब्राउज़र एक बार "userid" और "passwd" को बचाएगा, और फिर से कभी नहीं बदलेगा। आप "व्यक्ति" क्षेत्र को समाप्त कर सकते हैं यदि आपको वास्तव में इसकी आवश्यकता नहीं है। उस मामले में, आप सभी चाहते हैं कि "mypswd" फ़ील्ड है, जो आपके वेब-पेज के उपयोगकर्ता को किसी तरह से बदल सकता है।
जिस तरह से मैं फ़ायरफ़ॉक्स, एज, और इंटरनेट एक्सप्लोरर को स्वतः पूर्ण करने के लिए प्राप्त कर सकता हूं, वह मेरे फ़ॉर्म स्टेटमेंट में स्वत: पूर्ण = "गलत" जोड़ने के लिए है:
<form action="postingpage.php" autocomplete="false" method="post">
और मुझे अपने फ़ॉर्म इनपुट में स्वत: पूर्ण = "बंद" जोड़ना होगा और प्रकार को पाठ में बदलना होगा:
<input type="text" autocomplete="off">
ऐसा लगता है कि इस HTML कोड को ब्राउज़र के साथ मानकीकृत करने की आवश्यकता है। प्रपत्र प्रकार = पासवर्ड को संशोधित किया जाना चाहिए ताकि यह ब्राउज़र सेटिंग्स को ओवरराइड करे। मेरे पास एकमात्र मुद्दा यह है कि मैंने अपना इनपुट मास्किंग खो दिया है। लेकिन चमकदार तरफ कष्टप्रद "यह साइट सुरक्षित नहीं है" फ़ायरफ़ॉक्स में दिखाई नहीं दे रहा है।
मेरे लिए, यह एक बड़ी बात नहीं है क्योंकि उपयोगकर्ता पहले से ही प्रमाणित है और इसका परिवर्तन उपयोगकर्ता नाम और पासवर्ड पासवर्ड है