autocomplete
একটি নির্দিষ্ট input
(বা form field
) জন্য আপনি কীভাবে প্রধান ব্রাউজারগুলিতে অক্ষম করবেন ?
autocomplete
একটি নির্দিষ্ট input
(বা form field
) জন্য আপনি কীভাবে প্রধান ব্রাউজারগুলিতে অক্ষম করবেন ?
উত্তর:
ফায়ারফক্স 30 autocomplete="off"
পাসওয়ার্ডগুলির জন্য উপেক্ষা করে, ক্লায়েন্টে পাসওয়ার্ডটি সংরক্ষণ করা উচিত কিনা তার পরিবর্তে ব্যবহারকারীকে অনুরোধ জানাতে বেছে নেওয়া। মে 5, 2014 থেকে নিম্নলিখিত মন্তব্যটি নোট করুন :
- পাসওয়ার্ড পরিচালক যদি সর্বদা পাসওয়ার্ড সংরক্ষণ করতে চায় তবে অনুরোধ করে। ব্যবহারকারীর অনুমতি ব্যতীত পাসওয়ার্ডগুলি সংরক্ষণ করা হয় না।
- আইই ও ক্রোমের পরে আমরা এই পরিবর্তনটি বাস্তবায়িত করতে তৃতীয় ব্রাউজার।
মতে মোজিলা ডেভেলপার নেটওয়ার্ক ডকুমেন্টেশন, বুলিয়ান ফর্ম উপাদান অ্যাট্রিবিউট autocomplete
প্রতিরোধ পুরোনো ব্রাউজারে ক্যাশে হওয়া থেকে ডেটা গঠন করে।
<input type="text" name="foo" autocomplete="off" />
এছাড়াও autocomplete=off
, আপনি নিজের ফর্ম ক্ষেত্রের নামগুলি পৃষ্ঠাটি তৈরি করে এমন কোড দ্বারা এলোমেলোভাবে থাকতে পারে, সম্ভবত নামের শেষে কিছু সেশন-নির্দিষ্ট স্ট্রিং যুক্ত করে।
ফর্মটি জমা দেওয়া হলে, আপনি সার্ভারের পাশে প্রক্রিয়া করার আগে সেই অংশটি ছাঁটাই করতে পারেন। এটি ওয়েব ব্রাউজারটিকে আপনার ক্ষেত্রের প্রসঙ্গে সন্ধান করতে বাধা দেবে এবং এক্সএসআরএফ আক্রমণগুলি রোধ করতে সহায়তা করবে কারণ কোনও আক্রমণকারী ফর্ম জমা দেওয়ার জন্য ক্ষেত্রের নামগুলি অনুমান করতে সক্ষম হবে না।
$_SESSION['codefield_name'] = md5(uniqid('auth', true));
বেশিরভাগ প্রধান ব্রাউজার এবং পাসওয়ার্ড পরিচালক (সঠিকভাবে, আইএমএইচও) এখন উপেক্ষা করুন autocomplete=off
।
কেন? অনেক ব্যাংক এবং অন্যান্য "উচ্চ সুরক্ষা" ওয়েবসাইটগুলি autocomplete=off
তাদের সুরক্ষার উদ্দেশ্যে "লগইন পৃষ্ঠাগুলিতে যুক্ত করেছে" তবে এটি প্রকৃতপক্ষে সুরক্ষা হ্রাস করে যেহেতু এই উচ্চ-সিকিউরিটি সাইটগুলিতে পাসওয়ার্ডগুলি লোকেদের স্বতঃপূরণ থেকে মনে রাখা সহজ হয়ে যায় (এবং এভাবে ক্র্যাক হয়) ভেঙ্গেছিল.
অনেক আগে বেশিরভাগ পাসওয়ার্ড পরিচালকরা উপেক্ষা করা শুরু করেছিলেন autocomplete=off
এবং এখন ব্রাউজারগুলি কেবল ব্যবহারকারীর নাম / পাসওয়ার্ড ইনপুটগুলির জন্য একই কাজ শুরু করে।
দুর্ভাগ্যক্রমে, স্বয়ংক্রিয়রূপে বাস্তবায়নগুলিতে বাগগুলি ব্যবহারকারীর নাম এবং / অথবা পাসওয়ার্ডের তথ্য অনুপযুক্ত ফর্ম ক্ষেত্রগুলিতে ,োকায় ফর্মের বৈধতা ত্রুটির কারণ বা আরও খারাপভাবে, ঘটনাক্রমে ব্যবহারকারীরা ইচ্ছাকৃতভাবে ফাঁকা ফাঁকা ক্ষেত্রগুলিতে প্রবেশ করিয়েছিলেন।
একটি ওয়েব বিকাশকারী কী করতে হবে?
দুর্ভাগ্যক্রমে, ক্রোম 34 যখনই কোনও পাসওয়ার্ডের ক্ষেত্রটি দেখবে তখন ব্যবহারকারী / পাসের সাথে ক্ষেত্রগুলিকে স্বতঃপূর্ণ করার চেষ্টা করবে। এটি বেশ খারাপ ত্রুটি যা আশা করি, তারা সাফারি আচরণটি পরিবর্তন করবে। তবে এটি আপনার ফর্মের শীর্ষে যুক্ত করা পাসওয়ার্ড স্বতঃপূর্ণকে অক্ষম করে বলে মনে হচ্ছে:
<input type="text" style="display:none">
<input type="password" style="display:none">
আমি এখনও আইই বা ফায়ারফক্স পুরোপুরি তদন্ত করে দেখিনি তবে অন্যদের মন্তব্যে তথ্য থাকলে উত্তরটি আপডেট করে খুশি হব।
type='password'
এক পৃষ্ঠায় দুটি ক্ষেত্র তৈরি করার ফলে ব্রাউজারের "সংরক্ষণের পাসওয়ার্ড" স্বতঃপূরণ উপেক্ষা করা হয়েছিল, যা লগইন ফর্মগুলি কেবল একবার একবার জিজ্ঞাসা করলে রেজিস্ট্রেশন ফর্মগুলি দুবার পাসওয়ার্ড জিজ্ঞাসা করে।
কখনও কখনও এমনকি স্বয়ংসম্পূর্ণ বন্ধ = হবে পূরণ করতে বাধা দেয় না ভুল ক্ষেত্রগুলির মধ্যে প্রমাণপত্রাদি, কিন্তু না ব্যবহারকারী বা ডাকনাম ক্ষেত্র।
এই কার্যকারিতা ব্রাউজার আচরণ সম্পর্কে অ্যাপসটাইন পোস্ট ছাড়াও।
কেবল পঠনে ব্রাউজারের অটোফিল ঠিক করুন এবং ফোকাসের জন্য লিখনযোগ্য সেট করুন (ক্লিক এবং ট্যাব)
<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/
// আপডেটএন্ড
কারণ ব্রাউজার অটো ভুল পাঠ্যের ক্ষেত্রে শংসাপত্রগুলি পূরণ করে !?
আমি ক্রম এবং সাফারিতে এই অদ্ভুত আচরণটি লক্ষ্য করি, যখন একই ফর্মটিতে পাসওয়ার্ড ক্ষেত্র রয়েছে । আমার ধারণা, আপনার সংরক্ষিত শংসাপত্রগুলি প্রবেশ করানোর জন্য ব্রাউজারটি একটি পাসওয়ার্ড ক্ষেত্র সন্ধান করে। তারপরে এটি স্বয়ংক্রিয়ভাবে পূরণ করে (কেবলমাত্র পর্যবেক্ষণের কারণে অনুমান করা) নিকটতম পাঠ্যমন্ডিত-ইনপুট ক্ষেত্রটি, যা ডিওএম-এ পাসওয়ার্ড ক্ষেত্রের আগে উপস্থিত হবে। যেহেতু ব্রাউজারটি সর্বশেষ উদাহরণ এবং আপনি এটি নিয়ন্ত্রণ করতে পারবেন না,
উপরের এই পাঠ্য-স্থিরতা আমার পক্ষে কাজ করেছিল।
readonly
মুছে ফেলা হয়, পরবর্তী ক্ষেত্রের নির্বাচনের ফলে স্বতঃপূর্ন প্রত্যাবর্তনের ফলাফল হয়।
<form name="form1" id="form1" method="post"
autocomplete="off" action="http://www.example.com/form.cgi">
এটি ইন্টারনেট এক্সপ্লোরার এবং মজিলা ফায়ারফক্সে কাজ করবে, খারাপ দিকটি এটি এক্সএইচটিএমএল মান নয়।
input type="password"
। আশা করি অন্য কোনও ব্রাউজার এই কার্যকারিতাটি অপসারণ করতে পছন্দ করেন না।
autocomplete="off"
করা form
হ'ল ক্রোমের পক্ষে একমাত্র কাজ।
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>
ক্রোম সর্বদা ডেটা স্বতঃপূরণ করে যদি এটি কোনও টাইপের পাসওয়ার্ডের বাক্স খুঁজে পায় , তবে box বাক্সটির জন্য এটি নির্দেশ করতে পারে autocomplete = "new-password"
।
এটি আমার পক্ষে ভাল কাজ করে।
দ্রষ্টব্য: F12
আপনার পরিবর্তনগুলি কার্যকর হওয়ার সাথে সাথে তা নিশ্চিত করুন , অনেক বার ব্রাউজারগুলি পৃষ্ঠাটি ক্যাশে সংরক্ষণ করে, এটি আমাকে একটি খারাপ ধারণা দেয় যে এটি কাজ করে না, তবে ব্রাউজারটি আসলে পরিবর্তনগুলি আনেনি।
অন্যরা যেমন বলেছে, উত্তরটি autocomplete="off"
যাইহোক, আমি মনে করি এটি উল্লেখযোগ্য যে এটি কেন নির্দিষ্ট ক্ষেত্রে এটি ব্যবহার করা ভাল ধারণা কারণ এটির কয়েকটি উত্তর এবং সদৃশ প্রশ্নের পরামর্শ দেওয়া হয়েছে যে এটি বন্ধ না করাই ভাল।
ক্রেডিট কার্ড নম্বর সংরক্ষণ করে ব্রাউজারগুলি থামানো ব্যবহারকারীদের কাছে ছেড়ে দেওয়া উচিত নয়। অনেক বেশি ব্যবহারকারী এমনকি এটি বুঝতে সমস্যা করবে না।
ক্রেডিট কার্ড সুরক্ষা কোডগুলির জন্য ক্ষেত্রগুলিতে এটি বন্ধ করা বিশেষত গুরুত্বপূর্ণ। যেমন এই পৃষ্ঠাতে বলা হয়েছে:
"সুরক্ষা কোডটি কখনও সংরক্ষণ করবেন না ... এর মান নির্ভর করে যে এটি সরবরাহ করার একমাত্র উপায় এটি শারীরিক ক্রেডিট কার্ড থেকে পড়া, প্রমাণ করে যে এটি সরবরাহকারী ব্যক্তি আসলে কার্ডটি ধারণ করে" "
সমস্যাটি হ'ল যদি এটি একটি পাবলিক কম্পিউটার হয় (সাইবার ক্যাফে, গ্রন্থাগার ইত্যাদি) তবে অন্য ব্যবহারকারীদের পক্ষে আপনার কার্ডের বিশদ চুরি করা সহজ, এমনকি আপনার নিজের মেশিনে কোনও দূষিত ওয়েবসাইট স্ব- পরিপূর্ণ ডেটা চুরি করতে পারে ।
আমি এলোমেলো অক্ষর ব্যবহার করে গুগল ক্রোমের সাথে অন্তহীন লড়াইয়ের সমাধান করেছি। আপনি যখন সর্বদা এলোমেলো স্ট্রিংয়ের সাথে স্ব-পরিপূর্ণ রেন্ডার করবেন তখন এটি কখনই কিছু মনে রাখবে না।
<input name="name" type="text" autocomplete="rutjfkde">
আশা করি এটি অন্যান্য লোককে সহায়তা করবে।
autocompleteoff
আপনার পছন্দসই ইনপুট ক্ষেত্রে শ্রেণিটি যুক্ত করতে পারেন ।
আমাকে সেই উত্তরগুলির সাথে পৃথক হতে অনুরোধ করতে হবে যা অটো-সম্পূর্ণ অক্ষম করা এড়াতে বলে।
প্রথম জিনিসটি সামনে আনতে হবে যে লগইন ফর্ম ক্ষেত্রগুলিতে স্পষ্টভাবে অক্ষম না হওয়া অটো-সম্পূর্ণ একটি পিসিআই-ডিএসএস ব্যর্থ। তদ্ব্যতীত, যদি কোনও ব্যবহারকারীর স্থানীয় মেশিনে আপোষ করা হয় তবে কোনও স্বয়ত্তর পরিপূর্ণ ডেটা একটি আক্রমণকারী দ্বারা তুচ্ছভাবে প্রাপ্ত হতে পারে কারণ এটি স্পষ্টে সংরক্ষণ করা হয়েছে।
ব্যবহারযোগ্যতার জন্য অবশ্যই একটি যুক্তি রয়েছে, তবে কোন ফর্মের ক্ষেত্রগুলিতে স্বয়ংক্রিয়রূপে অক্ষম থাকা উচিত এবং কোনটি করা উচিত নয় তা খুব ভারসাম্য ভারসাম্য রয়েছে।
তিনটি বিকল্প: প্রথম:
<input type='text' autocomplete='off' />
দ্বিতীয়ত:
<form action='' autocomplete='off'>
তৃতীয় (জাভাস্ক্রিপ্ট কোড):
$('input').attr('autocomplete', 'off');
সম্পর্কিত বা প্রকৃতপক্ষে, সম্পূর্ণ বিপরীত নোটে -
"আপনি যদি পূর্বোক্ত ফর্মটির ব্যবহারকারী হন এবং স্বতঃপূরণ কার্যকারিতা পুনরায় সক্ষম করতে চান তবে এই বুকমার্কস পৃষ্ঠা থেকে 'পাসওয়ার্ড মনে রাখবেন' বুকমার্ক ব্যবহার করুন It এটি পৃষ্ঠার
autocomplete="off"
সমস্ত ফর্ম থেকে সমস্ত বৈশিষ্ট্য সরিয়ে দেয় ! ভাল লড়াইয়ের লড়াই চালিয়ে যান! "
আমরা আসলে একটি সাইটের জন্য স্যাসব এর ধারণা ব্যবহার করেছি। এটি একটি চিকিত্সা অফিস চালানোর জন্য একটি মেডিকেল সফ্টওয়্যার ওয়েব অ্যাপ্লিকেশন ছিল। তবে, আমাদের ক্লায়েন্টদের মধ্যে অনেকে সার্জন ছিলেন যারা আধা-পাবলিক টার্মিনাল সহ প্রচুর বিভিন্ন ওয়ার্কস্টেশন ব্যবহার করেছিলেন। সুতরাং, তারা এটি নিশ্চিত করে তুলতে চেয়েছিলেন যে কোনও চিকিত্সক যিনি স্ব-সংরক্ষিত পাসওয়ার্ডগুলির বোঝা বোঝেন না বা মনোযোগ দিচ্ছেন না তারা দুর্ঘটনাক্রমে তাদের লগইন তথ্য সহজেই অ্যাক্সেসযোগ্য ছেড়ে যেতে পারে না। অবশ্যই, এটি ব্যক্তিগত ব্রাউজিংয়ের ধারণা আগে ছিল যা আইই 8, এফএফ 3.1 ইত্যাদি বৈশিষ্ট্যযুক্ত হওয়া শুরু হয়ে গেছে, তবুও অনেক চিকিত্সকরা আইটি সহ হাসপাতালে পুরানো স্কুল ব্রাউজার ব্যবহার করতে বাধ্য হন যা কোনও পরিবর্তন হয় না।
সুতরাং, আমাদের লগইন পৃষ্ঠাটি এলোমেলো ক্ষেত্রের নাম তৈরি করেছে যা কেবলমাত্র সেই পোস্টের জন্য কাজ করবে। হ্যাঁ, এটি কম সুবিধাজনক তবে পাবলিক টার্মিনালগুলিতে লগইন তথ্য সংরক্ষণ না করার বিষয়ে এটি কেবল ব্যবহারকারীকে মাথার উপরে চাপ দিচ্ছে।
এই কথোপকথনে কোনও সমাধানই আমার পক্ষে কাজ করেনি।
অবশেষে আমি একটি খাঁটি এইচটিএমএল সমাধান বের করেছিলাম যার কোনও জাভাস্ক্রিপ্টের প্রয়োজন নেই , আধুনিক ব্রাউজারগুলিতে কাজ করে (আই বাদে; কমপক্ষে 1 টি ধরা পড়েছে, ডান?), এবং আপনাকে পুরো ফর্মের জন্য স্বতঃপূরণ অক্ষম করার দরকার নেই।
কেবল স্বতঃপূরণটি বন্ধ করুন 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"
এতটা সহজ, এবং এটি গুগল ক্রোমেও কবজির মতো কাজ করে!
এটি আমার পক্ষে কাজ করে।
<input name="pass" type="password" autocomplete="new-password" />
আমরা এই কৌশলটি অন্যান্য নিয়ন্ত্রণে যেমন পাঠ্য, নির্বাচন করা ইত্যাদিতেও ব্যবহার করতে পারি
আমি মনে করি autocomplete=off
এইচটিএমএল 5 এ সমর্থিত।
নিজেকে যদিও জিজ্ঞাসা করুন আপনি কেন এটি করতে চান - এটি কিছু পরিস্থিতিতে বোধগম্য হতে পারে তবে কেবল এটি করার জন্য এটি করবেন না।
এটি ব্যবহারকারীদের পক্ষে কম সুবিধাজনক এবং এমনকি ওএস এক্স-তে কোনও সুরক্ষা সমস্যা নয় (নীচে সোরেন উল্লেখ করেছেন)। যদি লোকেরা তাদের পাসওয়ার্ডগুলি দূর থেকে চুরি করে নিয়ে চিন্তিত হয় - আপনার অ্যাপ্লিকেশন ব্যবহার করেও একটি কীস্ট্রোক লগার এখনও এটি করতে পারে 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
, আমি এখনও পূর্বে প্রবেশ করা মানগুলির ভিত্তিতে একটি প্রস্তাবনা ড্রপডাউন পাই get এটি ডেস্কটপে ঠিক আছে, তবে অ্যান্ড্রয়েড ক্রোমে নয়।
গেমটি থেকে একটু দেরীতে ... তবে আমি কেবল এই সমস্যায় পড়েছি এবং বেশ কয়েকটি ব্যর্থতার চেষ্টা করেছি, তবে এটি এমডিএন- তে পাওয়া আমার জন্য কাজ করে
কিছু ক্ষেত্রে, স্বয়ংক্রিয়রূপে বৈশিষ্ট্যটি সেট করা থাকলেও ব্রাউজারটি স্ব-সমাপ্তির মানগুলির পরামর্শ দিবে। এই অপ্রত্যাশিত আচরণটি বিকাশকারীদের জন্য বেশ বিস্ময়কর হতে পারে। সত্যিই নো-সমাপ্তিকে বাধ্য করার কৌশলটি এই জাতীয় বৈশিষ্ট্যের জন্য এলোমেলো স্ট্রিংকে নির্ধারণ করা:
autocomplete="nope"
যোগ autocomplete="off"
করা এটি কাটা হবে না।
ইনপুট ধরণের বৈশিষ্ট্য এতে পরিবর্তন করুন type="search"
।
গুগল এক ধরণের অনুসন্ধানের সাথে ইনপুটগুলিতে স্বতঃপূরণ প্রয়োগ করে না।
ক্ষেত্রগুলির জন্য একটি মানহীন নাম এবং আইডি ব্যবহার করুন, সুতরাং "নাম" এর পরিবর্তে "নাম_" রাখুন। ব্রাউজারগুলি তখন এটি নাম ক্ষেত্র হিসাবে দেখবে না। এটির সর্বোত্তম অংশটি হ'ল আপনি এটি কিছু ক্ষেত্রে করতে পারেন তবে সমস্ত ক্ষেত্র নয় এবং এটি কিছুটি স্বয়ংক্রিয়ভাবে পূরণ করবে তবে সমস্ত ক্ষেত্র নয়।
অবৈধ এক্সএইচটিএমএল এড়াতে আপনি জাভাস্ক্রিপ্ট ব্যবহার করে এই বৈশিষ্ট্যটি সেট করতে পারেন। 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"
ফায়ারফক্সকে ক্ষেত্রটি অটোফিলিং থেকে আটকাতে পারে।