autocomplete
විශේෂිත එකක් සඳහා ප්රධාන බ්රව්සර් තුළ ඔබ අක්රීය කරන්නේ කෙසේද?input
(හෝ form field
) ?
autocomplete
විශේෂිත එකක් සඳහා ප්රධාන බ්රව්සර් තුළ ඔබ අක්රීය කරන්නේ කෙසේද?input
(හෝ form field
) ?
Answers:
ෆයර්ෆොක්ස් 30 autocomplete="off"
මුරපද නොසලකා හරින අතර මුරපදය සේවාදායකයා තුළ ගබඩා කළ යුතුද යන්න පරිශීලකයාගෙන් විමසීමට තීරණය කරයි. 2014 මැයි 5 සිට පහත දැක්වෙන විවරණය සටහන් කරන්න :
- මුරපද කළමනාකරු සෑම විටම සුරැකීමට අවශ්ය නම් විමසයි. පරිශීලකයාගේ අවසරයකින් තොරව මුරපද සුරකිනු නොලැබේ.
- IE සහ Chrome වලින් පසුව මෙම වෙනස ක්රියාත්මක කළ තුන්වන බ්රව්සරය අපයි.
අනුව මොසිල්ලා සංවර්ධක ජාලය ප්රලේඛනය මෙම බූලීය ආකාරයක අංගයක් විශේෂණය autocomplete
වීම වලක්වාලන පැරණි බ්රව්සර හැඹිලිගත කරමින් දත්ත සාදයි.
<input type="text" name="foo" autocomplete="off" />
ඊට අමතරව autocomplete=off
, පිටුව ජනනය කරන කේතය මඟින් ඔබේ පෝරම ක්ෂේත්ර නාම අහඹු ලෙස සකසා ගත හැකිය, සමහර විට නම්වල අවසානයට සමහර සැසි-විශේෂිත වචන එකතු කිරීමෙන්.
පෝරමය ඉදිරිපත් කළ විට, සේවාදායකයේ ඒවා සැකසීමට පෙර ඔබට එම කොටස ඉවත් කළ හැකිය. මෙය වෙබ් බ්රව්සරය ඔබේ ක්ෂේත්රය සඳහා සන්දර්භය සොයා ගැනීම වලක්වනු ඇති අතර XSRF ප්රහාර වැළැක්වීමටද උදව් වනු ඇත, මන්ද ආකෘති පත්ර ඉදිරිපත් කිරීමක් සඳහා ක්ෂේත්ර නාම අනුමාන කිරීමට ප්රහාරකයෙකුට නොහැකි වනු ඇත.
$_SESSION['codefield_name'] = md5(uniqid('auth', true));
බොහෝ ප්රධාන බ්රව්සර් සහ මුරපද කළමනාකරුවන් (නිවැරදිව, IMHO) දැන් නොසලකා හරිති autocomplete=off
.
මන්ද? බොහෝ බැංකු සහ වෙනත් "අධි ආරක්ෂණ" වෙබ් අඩවි autocomplete=off
ඔවුන්ගේ පිවිසුම් පිටුවලට "ආරක්ෂක අරමුණු සඳහා" එකතු කර ඇති නමුත් මෙය ඇත්ත වශයෙන්ම ආරක්ෂාව අඩු කරයි, මන්දයත් මෙම අධි ආරක්ෂිත වෙබ් අඩවි වල මුරපද වෙනස් කිරීමට මිනිසුන්ට ස්වයංක්රීයව සම්පුර්ණ වූ දා සිට මතක තබා ගැනීමට පහසු වන අතර (එම නිසා ඉරිතලා) කැඩී ඇත.
බොහෝ කලකට පෙර බොහෝ මුරපද කළමනාකරුවන් නොසලකා හැරීමට පටන් ගත් autocomplete=off
අතර දැන් බ්රව්සර් පරිශීලක නාමය / මුරපද යෙදවුම් සඳහා පමණක් එය කිරීමට පටන් ගෙන තිබේ.
අවාසනාවකට මෙන්, ස්වයංක්රීයව ක්රියාත්මක කිරීමේ දෝෂයන් පරිශීලක නාමය සහ / හෝ මුරපද තොරතුරු නුසුදුසු පෝරම ක්ෂේත්රවලට ඇතුළු කරයි, එමඟින් ආකෘති වලංගු කිරීමේ දෝෂ ඇති වේ, හෝ ඊටත් වඩා නරක නම්, පරිශීලකයා හිතාමතාම හිස්ව තබා ඇති ක්ෂේත්රවලට අහම්බෙන් පරිශීලක නාම ඇතුළත් කිරීම.
වෙබ් සංවර්ධකයෙකු කුමක් කළ යුතුද?
ක්රෝම් 34, අවාසනාවකට මෙන්, මුරපද ක්ෂේත්රයක් දකින සෑම විටම පරිශීලක / පාස් සමඟ ක්ෂේත්ර ස්වයංක්රීයව පිරවීමට උත්සාහ කරයි. මෙය තරමක් නරක දෝෂයකි, ඔවුන් සෆාරි හැසිරීම වෙනස් කරනු ඇතැයි අපේක්ෂා කරමු. කෙසේ වෙතත්, මෙය ඔබගේ පෝරමයේ ඉහළට එක් කිරීමෙන් මුරපදය ස්වයංක්රීයව පුරවා ඇති බව පෙනේ:
<input type="text" style="display:none">
<input type="password" style="display:none">
මම තවම IE හෝ Firefox ගැන ගැඹුරින් විමර්ශනය කර නැති නමුත් අනෙක් අයට අදහස් දැක්වීමේ තොරතුරු තිබේ නම් පිළිතුර යාවත්කාලීන කිරීමට සතුටු වනු ඇත.
type='password'
එක් පිටුවක ක්ෂේත්ර දෙකක් සෑදීමෙන් බ්රව්සරයේ “මුරපදය සුරකින්න” ස්වයං සම්පුර්ණ කිරීම නොසලකා හැරීමට හේතු විය.
සමහර විට පවා autocomplete = ලකුණු ඇත පිරවීමට වැළැක්වීමට නොහැකි පරිශීලක හෝ පරිශීලක සුරතල් නම ක්ෂේත්රයේ වැරදි ක්ෂේත්ර බවට අක්තපත්ර, නමුත් නැත.
බ්රවුසරයේ හැසිරීම පිළිබඳ අපින්ස්ටයින්ගේ පෝස්ටයට අමතරව මෙම ක්රියාමාර්ගය වේ.
බ්රවුසරයේ ස්වයංක්රීයව පිරවීම කියවීමට පමණක් සකසා අවධානය යොමු කළ හැකි පරිදි සකසන්න (ක්ලික් කරන්න සහ පටිත්ත)
<input type="password" readonly
onfocus="this.removeAttribute('readonly');"/>
යාවත්කාලීන කිරීම: ජංගම සෆාරි ක්ෂේත්රය තුළ කර්සරය සකසයි, නමුත් අතථ්ය යතුරුපුවරුව නොපෙන්වයි. නව ෆික්ස් පෙර මෙන් ක්රියා කරන නමුත් අතථ්ය යතුරුපුවරුව හසුරුවයි:
<input id="email" readonly type="email" onfocus="if (this.hasAttribute('readonly')) {
this.removeAttribute('readonly');
// fix for mobile safari to show virtual keyboard
this.blur(); this.focus(); }" />
සජීවී නිරූපණය https://jsfiddle.net/danielsuess/n0scguv6/
// යාවත්කාලීන කරන්න
බ්රව්සර් ස්වයංක්රීයව වැරදි පෙළ ක්ෂේත්රයට අක්තපත්ර පුරවන බැවිනි!
එකම ස්වරූපයෙන් මුරපද ක්ෂේත්ර ඇති විට, ක්රෝම් සහ සෆාරි හි මෙම අමුතු හැසිරීම මම දකිමි .මම හිතන්නේ, ඔබගේ සුරකින ලද අක්තපත්ර ඇතුළත් කිරීමට බ්රව්සරය මුරපද ක්ෂේත්රයක් සොයයි. එවිට එය ස්වයංක්රීයව පුරවනු ලැබේ (නිරීක්ෂණය නිසා අනුමාන කිරීම) ළඟම ඇති පෙළ-ආදාන ක්ෂේත්රය, එය DOM හි මුරපද ක්ෂේත්රයට පෙර දිස් වේ. බ්රව්සරය අවසාන අවස්ථාව වන අතර ඔබට එය පාලනය කළ නොහැක,
ඉහත කියවීමට පමණක් නිවැරදි කිරීම මට ප්රයෝජනවත් විය.
readonly
ඉවත් කළ විගසම , ක්ෂේත්රය තෝරාගැනීමෙන් ස්වයංක්රීයව නැවත පැමිණේ.
Chrome සඳහා විසඳුම එකතු කිරීමයි autocomplete="new-password"
ආදාන ආකාරයේ මුරපදයට කිරීමයි. කරුණාකර පහත උදාහරණය පරීක්ෂා කරන්න.
උදාහරණයක්:
<form name="myForm"" method="post">
<input name="user" type="text" />
<input name="pass" type="password" autocomplete="new-password" />
<input type="submit">
</form>
ක්රෝම් සෑම විටම දත්ත මුරපද කොටුවක් සොයා ගන්නේ නම් එය ස්වයංක්රීයව සම්පූර්ණ කරයි, එම කොටුව සඳහා ඇඟවීමට එය ප්රමාණවත් වේ autocomplete = "new-password"
.
මෙය මට හොඳින් ක්රියාත්මක වේ.
සටහන: F12
ඔබගේ වෙනස්වීම් බලාත්මක වන බවට වග බලා ගන්න , බොහෝ විට බ්රව්සර් පිටුව හැඹිලියේ සුරකිනු ඇත, මෙය මට වැඩ කළේ නැති බවට නරක හැඟීමක් ඇති කළේය, නමුත් බ්රව්සරය ඇත්ත වශයෙන්ම වෙනස්කම් ගෙනාවේ නැත.
<form name="form1" id="form1" method="post"
autocomplete="off" action="http://www.example.com/form.cgi">
මෙය ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් සහ මොසිල්ලා ෆයර්ෆොක්ස් වල ක්රියා කරනු ඇත, අවාසිය නම් එය XHTML ප්රමිතිය නොවීමයි.
input type="password"
. මෙම ක්රියාකාරීත්වය ඉවත් කිරීමට වෙනත් බ්රව්සර් තෝරා නොගනී.
autocomplete="off"
මත form
Chrome සඳහා වැඩ කරන එකම දේ.
අනෙක් අය පවසා ඇති පරිදි, පිළිතුර එයයි autocomplete="off"
කෙසේ වෙතත්, සමහර අවස්ථාවල මෙය භාවිතා කිරීම හොඳ අදහසක් වන්නේ මන්දැයි සඳහන් කිරීම වටී යැයි මම සිතමි. මේ සඳහා සමහර පිළිතුරු සහ අනුපිටපත් ප්රශ්න යෝජනා කර ඇති බැවින් එය ක්රියා විරහිත නොකිරීමට වඩා හොඳය.
ක්රෙඩිට් කාඩ් අංක ගබඩා කිරීම බ්රව්සර් නැවැත්වීම පරිශීලකයින්ට ඉතිරි නොකළ යුතුය. බොහෝ පරිශීලකයින් එය ගැටලුවක් බව නොදැන සිටිති.
ක්රෙඩිට් කාඩ් ආරක්ෂණ කේත සඳහා ක්ෂේත්ර මත එය නිවා දැමීම විශේෂයෙන් වැදගත් වේ. ලෙස මෙම පිටුව රාජ්යයන්:
"කිසි විටෙකත් ආරක්ෂක කේතය ගබඩා නොකරන්න ... එහි වටිනාකම රඳා පවතින්නේ එය සැපයීමට ඇති එකම ක්රමය භෞතික ක්රෙඩිට් කාඩ්පතින් කියවීම පමණක් වන අතර එය සපයන පුද්ගලයා ඇත්ත වශයෙන්ම කාඩ්පත තබා ඇති බව සනාථ කරයි."
ගැටළුව වන්නේ, එය පොදු පරිගණකයක් නම් (සයිබර් කැෆේ, පුස්තකාල යනාදිය) අනෙක් පරිශීලකයින්ට ඔබගේ කාඩ්පත් තොරතුරු සොරකම් කිරීම පහසු වන අතර ඔබේම යන්ත්රයකින් පවා අනිෂ්ට වෙබ් අඩවියකට ස්වයංක්රීයව දත්ත සොරකම් කළ හැකිය .
අහඹු අක්ෂර භාවිතයෙන් මම ගූගල් ක්රෝම් සමඟ නිමක් නැති සටන විසඳා ඇත්තෙමි. ඔබ සැමවිටම අහඹු නූල් වලින් ස්වයංක්රීයව සම්පුර්ණ කරන විට, එය කිසි විටෙකත් කිසිවක් මතක තබා නොගනී.
<input name="name" type="text" autocomplete="rutjfkde">
එය අනෙක් පුද්ගලයින්ට උපකාරී වනු ඇතැයි බලාපොරොත්තු වෙමු.
autocompleteoff
අපේක්ෂිත ආදාන ක්ෂේත්රයට පන්තිය එක් කළ හැකිය .
ස්වයංක්රීයව සම්පුර්ණ කිරීම අක්රීය කිරීම සඳහා පවසන එම පිළිතුරු සමඟ වෙනස් වීමට මට අයැදීමට සිදුවේ.
ගෙන ඒමට ඇති පළමු දෙය නම් පිවිසුම් පෝරම ක්ෂේත්රයන්හි ස්වයංක්රීයව සම්පුර්ණයෙන්ම අක්රීය නොකිරීම PCI-DSS අසමත් වීමයි. ඊට අමතරව, පරිශීලකයින්ගේ දේශීය යන්ත්රය සම්මුතියකට ලක්ව ඇත්නම්, ඕනෑම ස්වයංක්රීය සම්පුර්ණ දත්තයක් පැහැදිලිව ගබඩා කර ඇති නිසා ප්රහාරකයාට එය සුළු වශයෙන් ලබා ගත හැකිය.
උපයෝගීතාව සඳහා නිසැකවම තර්කයක් ඇත, කෙසේ වෙතත්, ස්වයංපෝෂිත අක්රීය කළ යුතු හා නොකළ යුතු ආකෘති ක්ෂේත්රයන් සම්බන්ධයෙන් ඉතා හොඳ ශේෂයක් ඇත.
විකල්ප තුනක්: පළමුවැන්න:
<input type='text' autocomplete='off' />
දෙවැනි:
<form action='' autocomplete='off'>
තෙවනුව (ජාවාස්ක්රිප්ට් කේතය):
$('input').attr('autocomplete', 'off');
අදාළ හෝ ඇත්ත වශයෙන්ම, සම්පූර්ණයෙන්ම ප්රතිවිරුද්ධ සටහන මත -
"ඔබ ඉහත සඳහන් පෝරමයේ පරිශීලකයා නම් සහ ස්වයං සම්පුර්ණ ක්රියාකාරිත්වය නැවත සක්රීය කිරීමට අවශ්ය නම්, මෙම පිටු සලකුණු පිටුවෙන් 'මතක මුරපදය' පොත් සලකුණ භාවිතා කරන්න . එය පිටුවේ
autocomplete="off"
ඇති සියලුම ආකාර වලින් සියලු ගුණාංග ඉවත් කරයි . හොඳ සටන සමඟ දිගටම සටන් කරන්න! "
මෙය මට වැඩ කරයි.
<input name="pass" type="password" autocomplete="new-password" />
පෙළ, තේරීම යනාදිය වැනි වෙනත් පාලන ක්රම වලදීද අපට මෙම උපක්රමය භාවිතා කළ හැකිය
අපි ඇත්ත වශයෙන්ම එක් වෙබ් අඩවියක් සඳහා සාස්බ්ගේ අදහස භාවිතා කළෙමු . එය වෛද්ය කාර්යාලයක් පවත්වාගෙන යාම සඳහා වෛද්ය මෘදුකාංග වෙබ් යෙදුමක් විය. කෙසේ වෙතත්, අපගේ සේවාදායකයින්ගෙන් බොහෝ දෙනෙක් අර්ධ පොදු පර්යන්ත ඇතුළු විවිධ වැඩපොළවල් භාවිතා කළ ශල්ය වෛද්යවරු වූහ. එබැවින්, ස්වයංක්රීයව සුරකින ලද මුරපදවල තේරුම නොතේරෙන හෝ අවධානය යොමු නොකරන වෛද්යවරයෙකුට ඔවුන්ගේ පිවිසුම් තොරතුරු පහසුවෙන් ප්රවේශ විය නොහැකි බවට වග බලා ගැනීමට ඔවුන්ට අවශ්ය විය. ඇත්ත වශයෙන්ම, මෙය IE8, FF3.1 යනාදියෙහි දර්ශනය වීමට පටන් ගෙන ඇති පුද්ගලික ගවේෂණය පිළිබඳ අදහසට පෙරය. එසේ වුවද, බොහෝ වෛද්යවරුන්ට තොරතුරු තාක්ෂණය සහිත රෝහල්වල පැරණි පාසල් බ්රව්සර් භාවිතා කිරීමට බල කෙරෙයි.
ඉතින්, අපට පිවිසුම් පිටුවේ අහඹු ක්ෂේත්ර නාම ජනනය කර ඇති අතර එම තනතුර සඳහා පමණක් ක්රියා කරයි. ඔව්, එය එතරම් පහසු නැත, නමුත් එය පොදු පර්යන්තවල පුරනය වීමේ තොරතුරු ගබඩා නොකිරීම ගැන පරිශීලකයාගේ හිසට පහර දෙයි.
මෙම සංවාදයේ කිසිදු විසඳුමක් මා වෙනුවෙන් ක්රියාත්මක නොවීය.
ජාවාස්ක්රිප්ට් අවශ්ය නොවන , නවීන බ්රව්සර්වල වැඩ කරන (අයිඊ හැර; අවම වශයෙන් 1 අල්ලා ගැනීමට සිදු විය, හරිද?) පිරිසිදු HTML විසඳුමක් මම අවසානයේ හදුනා ගත්තෙමි , තවද සම්පූර්ණ පෝරමය සඳහා ස්වයංක්රීයව සම්පූර්ණ කිරීම අක්රීය කිරීමට ඔබට අවශ්ය නොවේ.
ස්වයංක්රීයව සම්පුර්ණ කිරීම අක්රිය කර පෝරමය තුළ වැඩ කිරීමට ඔබ කැමති form
ඕනෑම කෙනෙකුට එය සක්රිය input
කරන්න. උදාහරණයක් වශයෙන්:
<form autocomplete="off">
<!-- these inputs will not allow autocomplete and chrome
won't highlight them yellow! -->
<input name="username" />
<input name="password" type="password" />
<!-- this field will allow autocomplete to work even
though we've disabled it on the form -->
<input name="another_field" autocomplete="on" />
</form>
නිකම්ම සකසන්න autocomplete="off"
. මෙය කිරීමට ඉතා හොඳ හේතුවක් තිබේ: ඔබට ඔබේම ස්වයංක්රීය ක්රියාකාරිත්වය සැපයීමට අවශ්යය!
මම නිමක් නැති විසඳුම් උත්සාහ කර ඇති අතර පසුව මම මෙය සොයා ගතිමි:
autocomplete="off"
සරලව භාවිතා කරනවා වෙනුවටautocomplete="false"
එය එතරම්ම සරල වන අතර එය ගූගල් ක්රෝම් හි ද ආකර්ශනීය ලෙස ක්රියා කරයි!
මම සිතනවා autocomplete=off
HTML 5 හි සහය දක්වයි.
ඔබට මෙය කිරීමට අවශ්ය ඇයිදැයි ඔබගෙන්ම විමසන්න - සමහර අවස්ථාවල එය අර්ථවත් විය හැකි නමුත් එය සිදු කිරීම සඳහා පමණක් එය නොකරන්න.
එය පරිශීලකයින්ට අඩු පහසුකමක් වන අතර OS X හි ආරක්ෂක ගැටළුවක් පවා නොමැත (පහත සෝරන් විසින් සඳහන් කර ඇත). මිනිසුන්ගේ මුරපද දුරස්ථව සොරකම් කිරීම ගැන ඔබ කනස්සල්ලට පත්ව සිටී නම් - ඔබගේ යෙදුම භාවිතා කළත් යතුරු ආ roke ාත ලොගර් කෙනෙකුට එය කළ හැකිය autcomplete=off
.
බ්රවුසරයක් මතක තබා ගැනීමට තෝරා ගන්නා පරිශීලකයෙකු ලෙස (බොහෝ තොරතුරු), ඔබේ වෙබ් අඩවිය මගේ මතක නැතිනම් මට එය කරදරයක් වනු ඇත.
අතිරේකව
autocomplete="off"
භාවිත
readonly onfocus="this.removeAttribute('readonly');"
ඔබ (ඔවුන්ට පෝරම දත්ත මතක තබා ගැනීමට අවශ්ය බව නැහැ යෙදවුම් සඳහා username
, password
පහත සඳහන් පරිදි ආදිය,):
<input type="text" name="UserName" autocomplete="off" readonly
onfocus="this.removeAttribute('readonly');" >
<input type="password" name="Password" autocomplete="off" readonly
onfocus="this.removeAttribute('readonly');" >
මෙය උපකාරී වේ යැයි සිතමි.
$(document).on('focus', 'input:password[readonly="readonly"]', function () { $(this).prop('readonly', false).blur().focus(); });
onfocusout="this.setAttribute('readonly', 'readonly');"
හොඳම විසඳුම:
ස්වයං සම්පුර්ණ පරිශීලක නාමය (හෝ විද්යුත් තැපෑල) සහ මුරපදය වළක්වන්න:
<input type="email" name="email"><!-- Can be type="text" -->
<input type="password" name="password" autocomplete="new-password">
ක්ෂේත්රයක් ස්වයං සම්පුර්ණ වීම වළක්වන්න:
<input type="text" name="field" autocomplete="nope">
පැහැදිලි කිරීම:
autocomplete
දිගටම වැඩ කිරීම <input>
, autocomplete="off"
ක්රියා නොකරයි, නමුත් ඔබට off
අහඹු ලෙස වෙනස් කළ හැකියnope
.
ක්රියාත්මක වන්නේ:
ක්රෝම්: 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 සහ 64
ෆයර්ෆොක්ස්: 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 සහ 58
autocomplete
ගුණාංගය සඳහා නූල් අගයන් සැකසීමට උත්සාහ කර ඇති අතර එය ආදානය යටතේ පෙර ඇතුළත් කිරීම් ස්වයං සම්පුර්ණ යෝජනා ලෙස පෙන්වයි.
autocomplete
, කලින් ඇතුළත් කළ අගයන් මත පදනම්ව මට තවමත් යෝජනා පහත වැටීමක් ලැබේ. එය ඩෙස්ක්ටොප් එකේ හොඳයි, නමුත් ඇන්ඩ්රොයිඩ් ක්රෝම් වල නොවේ.
ක්රීඩාවට ටිකක් ප්රමාදයි ... නමුත් මම මේ ගැටලුවට දුව ගොස් අසාර්ථකත්වයන් කිහිපයක් අත්හදා බැලුවෙමි, නමුත් මෙය එම්ඩීඑන් හි සොයාගත් මට වැඩ කරයි
සමහර අවස්ථාවලදී, ස්වයංක්රීය සම්පුර්ණ ගුණාංගය අක්රිය කර තිබුණද බ්රව්සරය ස්වයංක්රීයව සම්පුර්ණ කිරීමේ අගයන් යෝජනා කරයි. මෙම අනපේක්ෂිත හැසිරීම සංවර්ධකයින්ට තරමක් ප්රහේලිකාවක් විය හැකිය. සම්පුර්ණ නොකිරීමට බල කිරීම සඳහා වූ උපක්රමය නම්, අහඹු ලෙස නූලක් එවැනි ගුණාංගයකට පැවරීමයි:
autocomplete="nope"
ක්ෂේත්ර සඳහා සම්මත නොවන නමක් සහ හැඳුනුම්පතක් භාවිතා කරන්න, එබැවින් "නම" වෙනුවට "නම_" ඇත. බ්රව්සර් එය නාම ක්ෂේත්රය ලෙස නොපෙනේ. එහි ඇති හොඳම දේ නම්, ඔබට මෙය සමහර ක්ෂේත්රයන්ට කළ හැකි නමුත් සමහර ක්ෂේත්ර සඳහා ස්වයංක්රීයව සම්පුර්ණ වනු ඇත.
එකතු කිරීම autocomplete="off"
එය කපා දමන්නේ නැත.
ආදාන වර්ගයේ ගුණාංගය වෙනස් කරන්න type="search"
.
සෙවුම් වර්ගයක් සහිත යෙදවුම් සඳහා ගූගල් ස්වයංක්රීයව පුරවන්නේ නැත.
අවලංගු XHTML වලක්වා ගැනීම සඳහා ඔබට javascript භාවිතා කර මෙම ගුණාංගය සැකසිය හැකිය. JQuery භාවිතා කරන උදාහරණය:
<input type="text" class="noAutoComplete" ... />
$(function() {
$('.noAutoComplete').attr('autocomplete', 'off');
});
ගැටළුව වන්නේ ජාවාස්ක්රිප්ට් නොමැති පරිශීලකයින්ට ස්වයං සම්පුර්ණ ක්රියාකාරිත්වය ලැබෙනු ඇත.
එය වාර්තා වී බොහෝ කලකට පසු මෙය තවමත් ගැටලුවක් බව මට විශ්වාස කළ නොහැකිය. මූලද්රව්යය ප්රදර්ශනය නොවූ විට හෝ තිරයෙන් පිටතදී සෆාරි දැන සිටි පරිදි ඉහත විසඳුම් මට වැඩ කළේ නැත, කෙසේ වෙතත් පහත සඳහන් දෑ මා වෙනුවෙන් ක්රියාත්මක විය:
<div style="height:0px; overflow:hidden; ">
Username <input type="text" name="fake_safari_username" >
Password <input type="password" name="fake_safari_password">
</div>
එය යමෙකුට ප්රයෝජනවත් යැයි සිතමි!
ඉතින් මෙන්න එයයි:
function turnOnPasswordStyle() {
$('#inputpassword').attr('type', "password");
}
<input oninput="turnOnPasswordStyle()" id="inputpassword" type="text">
මෙය බ්රව්සර් දැන් නොසලකා හරින ආරක්ෂක ගැටළුවක්. සංවර්ධකයින් තොරතුරු සංවේදී යැයි සලකන නමුත් ගබඩා නොකළ යුතු වුවත්, බ්රව්සර් ආදාන නම් භාවිතා කරමින් අන්තර්ගතය හඳුනාගෙන ගබඩා කරයි. ඉල්ලීම් 2 ක් අතර ආදාන නමක් වෙනස් කිරීම ගැටළුව විසඳනු ඇත (නමුත් එය තවමත් බ්රව්සරයේ හැඹිලියේ සුරකිනු ඇති අතර බ්රව්සරයේ හැඹිලිය වැඩි කරයි). බ්රව්සරයේ සැකසුම් තුළ ඇති විකල්ප සක්රිය කිරීමට හෝ අක්රිය කිරීමට පරිශීලකයාගෙන් ඉල්ලා සිටීම හොඳ විසඳුමක් නොවේ. ගැටළුව පසුබිම තුළ නිවැරදි කළ හැකිය.
මෙන්න මගේ විසඳුම. මගේ රාමුව තුළ මා ක්රියාත්මක කර ඇති ප්රවේශයකි. සියලුම ස්වයංක්රීය අංග සම්පූර්ණ වන්නේ මෙවැනි සැඟවුණු ආදානයකින් ය:
<? $r = rmd5(rand().mocrotime(TRUE)); ?>
<form method="POST" action="./">
<input type="text" name="<? echo $r; ?>" />
<input type="hidden" name="__autocomplete_fix_<? echo $r; ?>" value="username" />
<input type="submit" name="submit" value="submit" />
</form>
සේවාදායකයා පසුව පශ්චාත් විචල්යයන් මේ ආකාරයට සකසයි:
foreach ($_POST as $key => $val)
{
if(preg_match('#^__autocomplete_fix_#', $key) === 1){
$n = substr($key, 19);
if(isset($_POST[$n]))$_POST[$val] = $_POST[$n];
}
}
අගය සුපුරුදු පරිදි ප්රවේශ විය හැකිය
var_dump($_POST['username']);
පෙර ඉල්ලීම හෝ පෙර පරිශීලකයින්ගෙන් තොරතුරු යෝජනා කිරීමට බ්රව්සරයට නොහැකි වනු ඇත.
බ්රව්සර් යාවත්කාලීනයන් වුවද, ස්වයංක්රීයව නොසලකා හැරීමට හෝ නොකිරීමට අවශ්ය සියල්ලම ක්රියා කරයි. මට ගැටලුව විසඳීමට හොඳම ක්රමය එයයි.
මෙහි සඳහන් කර ඇති කිසිදු හක්කක් මට ක්රෝම් හි වැඩ කළේ නැත. ගැටලුව පිළිබඳ සාකච්ඡාවක් මෙහි ඇත: https://code.google.com/p/chromium/issues/detail?id=468153#c41
මෙය <form>
කෘතියක් තුළ එකතු කිරීම (අවම වශයෙන් දැනට):
<div style="display: none;">
<input type="text" id="PreventChromeAutocomplete" name="PreventChromeAutocomplete" autocomplete="address-level4" />
</div>
maxlength="0"
ෆයර්ෆොක්ස් ක්ෂේත්රය ස්වයංක්රීයව පිරවීම වළක්වයි.