আপনি কীভাবে ওয়েব ফর্ম ফিল্ড / ইনপুট ট্যাগে ব্রাউজার স্বয়ংক্রিয়ভাবে অক্ষম করবেন?


2789

autocompleteএকটি নির্দিষ্ট input(বা form field) জন্য আপনি কীভাবে প্রধান ব্রাউজারগুলিতে অক্ষম করবেন ?


2
কিছু সিস্টেমে যেখানে পরীক্ষকদের ম্যানুয়ালি প্রচুর পরিমাণে তথ্য প্রবেশ করতে হয় এবং এটির জন্য কনফিগারযোগ্য বিকল্পটি কার্যকর হতে পারে যাতে পরীক্ষার সময় আপনি এটি অক্ষম করতে পারেন এবং কেবল 'ট্যাব> ডাউন তীর> ট্যাব> ডাউন তীর ইত্যাদি চাপতে পারেন .. । '
সায়মন_উইভার

উত্তর:


2623

ফায়ারফক্স 30 autocomplete="off"পাসওয়ার্ডগুলির জন্য উপেক্ষা করে, ক্লায়েন্টে পাসওয়ার্ডটি সংরক্ষণ করা উচিত কিনা তার পরিবর্তে ব্যবহারকারীকে অনুরোধ জানাতে বেছে নেওয়া। মে 5, 2014 থেকে নিম্নলিখিত মন্তব্যটি নোট করুন :

  • পাসওয়ার্ড পরিচালক যদি সর্বদা পাসওয়ার্ড সংরক্ষণ করতে চায় তবে অনুরোধ করে। ব্যবহারকারীর অনুমতি ব্যতীত পাসওয়ার্ডগুলি সংরক্ষণ করা হয় না।
  • আইই ও ক্রোমের পরে আমরা এই পরিবর্তনটি বাস্তবায়িত করতে তৃতীয় ব্রাউজার।

মতে মোজিলা ডেভেলপার নেটওয়ার্ক ডকুমেন্টেশন, বুলিয়ান ফর্ম উপাদান অ্যাট্রিবিউট autocompleteপ্রতিরোধ পুরোনো ব্রাউজারে ক্যাশে হওয়া থেকে ডেটা গঠন করে।

<input type="text" name="foo" autocomplete="off" />

45
এটি ফায়ারফক্স 3.0.০.৩ এ আমার পক্ষে কাজ করে নি আমাকে স্বয়ংসম্পূর্ণ বৈশিষ্ট্যটি ইনপুটের পরিবর্তে ফরমে রেখে দিতে হয়েছিল।
উইনস্টন ফ্যাসেট

17
স্বয়ংসম্পূর্ণ শুধুমাত্র * ..., এইচটিএমএল 5 মান সংজ্ঞায়িত করা হয়, যার ফলে যেকোনো যাচাই আপনাকে HTML 4 বিরুদ্ধে চালানো ভঙ্গ করবে।
Jrgns

96
@ উইনস্টন, আপনার এটিকে উভয়ই ফর্মটিতে এবং ইনপুট উপাদানটিতে দেওয়া উচিত। এইভাবে আপনি ব্রাউজারগুলির সমস্ত নন-স্ট্যান্ডার্ডনেসটি কভার করেন।
এভিডি

83
এবং মনে রাখবেন আপনার ওয়েবঅ্যাপটি পরীক্ষা করার আগে আপনার স্বতঃপূরণ = এক্সটেনশনে (আপনি যদি ক্রোম ব্যবহার করছেন) অক্ষম করতে চান। অন্যথায় আপনি আমার মতো বাস্তব বোকা বোধ করবেন। ;)
জো লিস


314

এছাড়াও autocomplete=off, আপনি নিজের ফর্ম ক্ষেত্রের নামগুলি পৃষ্ঠাটি তৈরি করে এমন কোড দ্বারা এলোমেলোভাবে থাকতে পারে, সম্ভবত নামের শেষে কিছু সেশন-নির্দিষ্ট স্ট্রিং যুক্ত করে।

ফর্মটি জমা দেওয়া হলে, আপনি সার্ভারের পাশে প্রক্রিয়া করার আগে সেই অংশটি ছাঁটাই করতে পারেন। এটি ওয়েব ব্রাউজারটিকে আপনার ক্ষেত্রের প্রসঙ্গে সন্ধান করতে বাধা দেবে এবং এক্সএসআরএফ আক্রমণগুলি রোধ করতে সহায়তা করবে কারণ কোনও আক্রমণকারী ফর্ম জমা দেওয়ার জন্য ক্ষেত্রের নামগুলি অনুমান করতে সক্ষম হবে না।


10
স্বতঃপূরণ = "অফ" ব্যবহারের তুলনায় এটি একটি আরও ভাল সমাধান। আপনাকে যা করতে হবে তা হ'ল প্রতিটি পৃষ্ঠার লোডে একটি নতুন নাম উত্পন্ন করা এবং ভবিষ্যতের ব্যবহারের জন্য সেই নামটি একটি $ $_SESSION['codefield_name'] = md5(uniqid('auth', true));
‍সেসিএসে সংরক্ষণ করুন

78
না, এটি এর চেয়ে ভাল সমাধান নয়, কারণ এই সেটিংটির জন্য পছন্দের উত্স হ'ল ওয়েব ব্রাউজার হিসাবে পরিচিত এজেন্ট। নির্দিষ্ট আচরণ (যা এইচটিএমএল 5 করার চেষ্টা করে) সমর্থন করে এবং ব্যবহারকারীর পক্ষ থেকে সিদ্ধান্ত নিয়ে জোর করার মধ্যে একটি পার্থক্য রয়েছে, যা আপনার প্রস্তাবিত একটি "আরও ভাল সমাধান"।
amn

15
এই সমাধানটি সমস্ত ব্রাউজারের সাথে কাজ করতে পারে, সুতরাং সেই ক্ষেত্রে এটি "আরও ভাল"। তবুও, অ্যামন সঠিক, আপনার ব্যবহারকারীদের পক্ষ থেকে স্ব-অসম্পূর্ণটি অক্ষম করার সিদ্ধান্ত নেওয়া ভাল ধারণা নয়। এর অর্থ আমি কেবলমাত্র নির্দিষ্ট নির্দিষ্ট পরিস্থিতিতে স্বয়ংসম্পূর্ণকে অক্ষম করব, যেমন আপনি যখন নিজের স্ব-পরিপূর্ণ কার্যকারিতা তৈরির পরিকল্পনা করেন এবং দ্বন্দ্ব বা অদ্ভুত আচরণ চান না।
macguru2000

8
এক্সএসআরএফ আক্রমণ সম্পর্কে, আমি নিশ্চিত নই যে আপনি কোন ধরণের আক্রমণটি চিত্রিত করছেন, তবে আক্রমণকারী কেবল ক্ষেত্রগুলি শনাক্ত করার জন্য সার্ভার-সাইডের মতো শেষ অংশটি সরাতে পারবেন না? অথবা যদি আক্রমণকারী ক্ষেত্রগুলি পোস্ট করে, তবে তারা সার্ভারের মাধ্যমে তা ছিনিয়ে নেওয়ার পরে তারা তাদের নিজস্ব এলোমেলো স্ট্রিং সংযুক্ত করতে পারে না?
xr280xr

9
@ ম্যাকগুরু ২000 আপনার নিজস্ব স্বয়ংসম্পূর্ণতা তৈরি করা সম্পূর্ণরূপে বৈধ এবং সাধারণ ব্যবহারের ক্ষেত্রে। সত্যিই ব্রাউজারটি বিকাশকারীদের
স্বতঃসমম্পূর্ণ

235

বেশিরভাগ প্রধান ব্রাউজার এবং পাসওয়ার্ড পরিচালক (সঠিকভাবে, আইএমএইচও) এখন উপেক্ষা করুন autocomplete=off

কেন? অনেক ব্যাংক এবং অন্যান্য "উচ্চ সুরক্ষা" ওয়েবসাইটগুলি autocomplete=offতাদের সুরক্ষার উদ্দেশ্যে "লগইন পৃষ্ঠাগুলিতে যুক্ত করেছে" তবে এটি প্রকৃতপক্ষে সুরক্ষা হ্রাস করে যেহেতু এই উচ্চ-সিকিউরিটি সাইটগুলিতে পাসওয়ার্ডগুলি লোকেদের স্বতঃপূরণ থেকে মনে রাখা সহজ হয়ে যায় (এবং এভাবে ক্র্যাক হয়) ভেঙ্গেছিল.

অনেক আগে বেশিরভাগ পাসওয়ার্ড পরিচালকরা উপেক্ষা করা শুরু করেছিলেন autocomplete=offএবং এখন ব্রাউজারগুলি কেবল ব্যবহারকারীর নাম / পাসওয়ার্ড ইনপুটগুলির জন্য একই কাজ শুরু করে।

দুর্ভাগ্যক্রমে, স্বয়ংক্রিয়রূপে বাস্তবায়নগুলিতে বাগগুলি ব্যবহারকারীর নাম এবং / অথবা পাসওয়ার্ডের তথ্য অনুপযুক্ত ফর্ম ক্ষেত্রগুলিতে ,োকায় ফর্মের বৈধতা ত্রুটির কারণ বা আরও খারাপভাবে, ঘটনাক্রমে ব্যবহারকারীরা ইচ্ছাকৃতভাবে ফাঁকা ফাঁকা ক্ষেত্রগুলিতে প্রবেশ করিয়েছিলেন।

একটি ওয়েব বিকাশকারী কী করতে হবে?

  • আপনি যদি নিজের পাসওয়ার্ডের ক্ষেত্রগুলি একটি পৃষ্ঠায় রাখতে পারেন তবে এটি দুর্দান্ত শুরুর কারণ মনে হচ্ছে যে পাসওয়ার্ড ক্ষেত্রের উপস্থিতি ব্যবহারকারী / পাসের স্বতঃপূরণকে লাথি মারার মূল ট্রিগার Otherwise অন্যথায় নীচের টিপসটি পড়ুন।
  • সাফারি লক্ষ করেছে যে এখানে 2 টি পাসওয়ার্ড ক্ষেত্র রয়েছে এবং এই ক্ষেত্রে স্বতঃপূরণ অক্ষম করে, ধরে নিলে এটি অবশ্যই লগইন ফর্ম নয়, পরিবর্তনের পাসওয়ার্ড ফর্ম হতে হবে। সুতরাং আপনার অনুমতি দেওয়া যে কোনও ফর্মের জন্য কেবল 2 পাসওয়ার্ড ক্ষেত্র (নতুন এবং নতুন নিশ্চিত করুন) ব্যবহার নিশ্চিত করুন
  • দুর্ভাগ্যক্রমে, ক্রোম 34 যখনই কোনও পাসওয়ার্ডের ক্ষেত্রটি দেখবে তখন ব্যবহারকারী / পাসের সাথে ক্ষেত্রগুলিকে স্বতঃপূর্ণ করার চেষ্টা করবে। এটি বেশ খারাপ ত্রুটি যা আশা করি, তারা সাফারি আচরণটি পরিবর্তন করবে। তবে এটি আপনার ফর্মের শীর্ষে যুক্ত করা পাসওয়ার্ড স্বতঃপূর্ণকে অক্ষম করে বলে মনে হচ্ছে:

    <input type="text" style="display:none">
    <input type="password" style="display:none">

আমি এখনও আইই বা ফায়ারফক্স পুরোপুরি তদন্ত করে দেখিনি তবে অন্যদের মন্তব্যে তথ্য থাকলে উত্তরটি আপডেট করে খুশি হব।


5
"আপনার পৃষ্ঠায় এটি যুক্ত করার অর্থ পৃষ্ঠার জন্য
অটোফিলটি

5
@ ওয়াটজেবার, ক্রোম লুকানো পাসওয়ার্ড ক্ষেত্রটি লক্ষ্য করে এবং স্বয়ংক্রিয়ভাবে সম্পূর্ণ হওয়া বন্ধ করে দেয়। প্রতিবেদনে বলা হয়েছে এটি ব্যবহারকারীর দিকে লক্ষ্য না করেই সাইটটি পাসওয়ার্ডের তথ্য চুরি করা রোধ করা।
ডেভিড

6
আপনার কোডের স্নিপেট ক্রোম, ফায়ারফক্স, আই 8 এবং আইই 10 তে লগইন ক্ষেত্রগুলির জন্য স্বতঃপূরণগুলি প্রতিরোধ করে IE কেবল সহজ উত্তর যা এখনও কাজ করে।
স্যাম ওয়াটকিন্স

3
আপনার সাফারি নোটটি কমপক্ষে ডিসেম্বর 2015 পর্যন্ত Chrome এও কাজ করছে বলে মনে হচ্ছে I লগইন ফর্মের ডেটা দিয়ে স্বয়ংক্রিয়ভাবে পূর্ণ হওয়া একটি রেজিস্ট্রেশন ফর্মটিতে আমার একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড ক্ষেত্র ছিল। type='password'এক পৃষ্ঠায় দুটি ক্ষেত্র তৈরি করার ফলে ব্রাউজারের "সংরক্ষণের পাসওয়ার্ড" স্বতঃপূরণ উপেক্ষা করা হয়েছিল, যা লগইন ফর্মগুলি কেবল একবার একবার জিজ্ঞাসা করলে রেজিস্ট্রেশন ফর্মগুলি দুবার পাসওয়ার্ড জিজ্ঞাসা করে।
ম্যাট ফ্লেচার

3
অতিরিক্ত পাসওয়ার্ড ক্ষেত্রটি গোপন না করা থাকলে, যা উদ্দেশ্যকে পরাভূত করে ক্রম 55 এ আর কাজ করবে বলে মনে হচ্ছে না।
জোক্কেডক

160

কখনও কখনও এমনকি স্বয়ংসম্পূর্ণ বন্ধ = হবে পূরণ করতে বাধা দেয় না ভুল ক্ষেত্রগুলির মধ্যে প্রমাণপত্রাদি, কিন্তু না ব্যবহারকারী বা ডাকনাম ক্ষেত্র।

এই কার্যকারিতা ব্রাউজার আচরণ সম্পর্কে অ্যাপসটাইন পোস্ট ছাড়াও।

কেবল পঠনে ব্রাউজারের অটোফিল ঠিক করুন এবং ফোকাসের জন্য লিখনযোগ্য সেট করুন (ক্লিক এবং ট্যাব)

 <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/

// আপডেটএন্ড

কারণ ব্রাউজার অটো ভুল পাঠ্যের ক্ষেত্রে শংসাপত্রগুলি পূরণ করে !?

আমি ক্রম এবং সাফারিতে এই অদ্ভুত আচরণটি লক্ষ্য করি, যখন একই ফর্মটিতে পাসওয়ার্ড ক্ষেত্র রয়েছে আমার ধারণা, আপনার সংরক্ষিত শংসাপত্রগুলি প্রবেশ করানোর জন্য ব্রাউজারটি একটি পাসওয়ার্ড ক্ষেত্র সন্ধান করে। তারপরে এটি স্বয়ংক্রিয়ভাবে পূরণ করে (কেবলমাত্র পর্যবেক্ষণের কারণে অনুমান করা) নিকটতম পাঠ্যমন্ডিত-ইনপুট ক্ষেত্রটি, যা ডিওএম-এ পাসওয়ার্ড ক্ষেত্রের আগে উপস্থিত হবে। যেহেতু ব্রাউজারটি সর্বশেষ উদাহরণ এবং আপনি এটি নিয়ন্ত্রণ করতে পারবেন না,

উপরের এই পাঠ্য-স্থিরতা আমার পক্ষে কাজ করেছিল।


8
একটি যদি জাভাস্ক্রিপ্ট না থাকে তবে পুরো ফর্মটি ব্যর্থ হয়। -1
জিমি কেন

8
@ জিম্মি কেনে মূলত জাভাস্ক্রিপ্ট ব্যবহার করে প্রথমে এই বৈশিষ্ট্যটি যুক্ত করা হবে (যা এখানে করা হয়নি, তবে কেবলমাত্র সম্পূর্ণতার জন্য যোগ করা)।
ট্রানলসন

@ টমেলসন আমি বুঝতে পারি তবে এখনও অক্ষম করতে কেন জেএস ব্যবহার করি? স্থানীয়ভাবে উন্নত করা যায় এমন জিনিসের জন্য জেএস এড়ানো যাক be আবার আমি যদিও আপনার সাথে একমত।
জিমি কানে

3
এটি আইই 8-এ ঠিক কাজ করে না, পঠনযোগ্য পাসওয়ার্ড ক্ষেত্রটি আপনি প্রথমবার মনোনিবেশ করার পরে কেবল সম্পাদনযোগ্য নয় এবং কেবল ফোকাস করার পরে। দুর্দান্ত ধারণা, তবে দুর্ভাগ্যক্রমে এটি কিছুটা হ্যাকি এবং ব্যবহার করা নিরাপদ নয়।
স্যাম ওয়াটকিন্স

এটি সমস্ত ব্রাউজারগুলিতে সঠিকভাবে কাজ করে না (যেমন আইই 11 এবং আইই এজ)। যত তাড়াতাড়ি readonlyমুছে ফেলা হয়, পরবর্তী ক্ষেত্রের নির্বাচনের ফলে স্বতঃপূর্ন প্রত্যাবর্তনের ফলাফল হয়।
26:18

106
<form name="form1" id="form1" method="post" 
      autocomplete="off" action="http://www.example.com/form.cgi">

এটি ইন্টারনেট এক্সপ্লোরার এবং মজিলা ফায়ারফক্সে কাজ করবে, খারাপ দিকটি এটি এক্সএইচটিএমএল মান নয়।


আমি লক্ষ্য করেছি যে ফর্ম উপাদানটিতে এটি যুক্ত করা সর্বদা ফর্মের মধ্যে পৃথক ইনপুটগুলিতে প্রয়োগ করা থেকে বাধা দেয় না। সুতরাং এটি সরাসরি ইনপুট উপাদানটিতে রাখা ভাল probably
শোলসিংগার

15
প্রকৃতপক্ষে @ শোলসিংগার, এটি উভয়কে ফর্মটিতে এবং ইনপুট উপাদানটিতে রেখে দেওয়া ভাল। এইভাবে আপনি ব্রাউজারগুলির সমস্ত নন-স্ট্যান্ডার্ডনেসটি কভার করেন।
এভিডি

2
দুঃখের বিষয়, IE 11 হিসাবে মাইক্রোসফ্ট আর এটিকে সম্মান করে না input type="password"। আশা করি অন্য কোনও ব্রাউজার এই কার্যকারিতাটি অপসারণ করতে পছন্দ করেন না।
স্যামহাকাবি

এতে সেট autocomplete="off"করা formহ'ল ক্রোমের পক্ষে একমাত্র কাজ।
অ্যান্ড্রু

105

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আপনার পরিবর্তনগুলি কার্যকর হওয়ার সাথে সাথে তা নিশ্চিত করুন , অনেক বার ব্রাউজারগুলি পৃষ্ঠাটি ক্যাশে সংরক্ষণ করে, এটি আমাকে একটি খারাপ ধারণা দেয় যে এটি কাজ করে না, তবে ব্রাউজারটি আসলে পরিবর্তনগুলি আনেনি।


2
এটি ক্রোমে অন্যান্য ধরণের ক্ষেত্রেও কাজ করে, কেবল = "পাসওয়ার্ড" টাইপ করে না।
জেক

আমি এটি পাসওয়ার্ড, ইমেল এবং পাঠ্যের ধরণের সাথে ব্যবহার করেছি এবং এটি কার্যকর worked আমি এটিকে সহজভাবে ব্যবহার করেছি: স্বতঃপূরণ = "নতুন"
ক্র্যাক_আমবউটিন 21

প্রকৃত পাসওয়ার্ড ইনপুট ফিল্ডের আগে স্বতঃপূরণ = "নোপ" নাম = "পিএসডাব্লুডি" এবং <ইনপুট নাম = "ডামিপ্যাসওয়ার্ড" টাইপ = "পাসওয়ার্ড" শৈলী = "প্রদর্শন: কিছুই নয়"> ব্যবহৃত হয়েছিল। এটি আমার পক্ষে কাজ করেছে।
দিনুকা


এটি এখন প্রায় ক্রোম নয়, প্রায় সকল ব্রাউজারে কাজ করে: স্বতঃপূরণ # ব্রাউজার_সংশ্লিষ্টতা
অ্যান্ড্রু মর্টন

60

অন্যরা যেমন বলেছে, উত্তরটি autocomplete="off"

যাইহোক, আমি মনে করি এটি উল্লেখযোগ্য যে এটি কেন নির্দিষ্ট ক্ষেত্রে এটি ব্যবহার করা ভাল ধারণা কারণ এটির কয়েকটি উত্তর এবং সদৃশ প্রশ্নের পরামর্শ দেওয়া হয়েছে যে এটি বন্ধ না করাই ভাল।

ক্রেডিট কার্ড নম্বর সংরক্ষণ করে ব্রাউজারগুলি থামানো ব্যবহারকারীদের কাছে ছেড়ে দেওয়া উচিত নয়। অনেক বেশি ব্যবহারকারী এমনকি এটি বুঝতে সমস্যা করবে না।

ক্রেডিট কার্ড সুরক্ষা কোডগুলির জন্য ক্ষেত্রগুলিতে এটি বন্ধ করা বিশেষত গুরুত্বপূর্ণ। যেমন এই পৃষ্ঠাতে বলা হয়েছে:

"সুরক্ষা কোডটি কখনও সংরক্ষণ করবেন না ... এর মান নির্ভর করে যে এটি সরবরাহ করার একমাত্র উপায় এটি শারীরিক ক্রেডিট কার্ড থেকে পড়া, প্রমাণ করে যে এটি সরবরাহকারী ব্যক্তি আসলে কার্ডটি ধারণ করে" "

সমস্যাটি হ'ল যদি এটি একটি পাবলিক কম্পিউটার হয় (সাইবার ক্যাফে, গ্রন্থাগার ইত্যাদি) তবে অন্য ব্যবহারকারীদের পক্ষে আপনার কার্ডের বিশদ চুরি করা সহজ, এমনকি আপনার নিজের মেশিনে কোনও দূষিত ওয়েবসাইট স্ব- পরিপূর্ণ ডেটা চুরি করতে পারে ।


7
যদি আমি কোনও সাইটে যাই এবং ড্রপডাউনটিতে এটি আমার কার্ডের কথা মনে পড়ে তবে আমি খুব অসন্তুষ্ট হব। আইডি ভাবতে শুরু করে যে তারা কীভাবে এতটা গাফিল হতে পারে।
সাইমন_উইভার

8
অনেক সহজ / আরও সমালোচনামূলক কেস। আমি যখন আমার সাইটের প্রশাসকের অংশে কোনও ব্যবহারকারীর পৃষ্ঠাতে যাই, তখন এটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডটি আমার প্রশাসক ব্যবহারকারীর নাম এবং পাসওয়ার্ড হিসাবে সেট করার চেষ্টা করে, এটি লগইন ফর্ম নয় তা বলতে সক্ষম হয় না। আমি আমার প্রশাসক পাসওয়ার্ড মনে রাখতে চাই, তবে এটি একটি সমালোচিত ত্রুটি যে এটি যে স্মরণকৃত ব্যবহারকারীর নাম / পাসওয়ার্ডটি আমি তখন সম্পাদনা করি তা ব্যবহারকারীর জন্য প্রয়োগ করার চেষ্টা করে।
rjmunro

34

আমি এলোমেলো অক্ষর ব্যবহার করে গুগল ক্রোমের সাথে অন্তহীন লড়াইয়ের সমাধান করেছি। আপনি যখন সর্বদা এলোমেলো স্ট্রিংয়ের সাথে স্ব-পরিপূর্ণ রেন্ডার করবেন তখন এটি কখনই কিছু মনে রাখবে না।

<input name="name" type="text" autocomplete="rutjfkde">

আশা করি এটি অন্যান্য লোককে সহায়তা করবে।


2
এটি আরও ভাল কাজ করে। আপনি একটি ছোট জেএস যুক্ত করতে পারেন যা প্রতিটি পৃষ্ঠার লোডের জন্য একটি এলোমেলো কোড তৈরি করে এবং কোডটি ইনপুট ক্ষেত্রে যুক্ত করতে পারেন: <কোড> ফাংশন অটোআইডি () auto var অটোআইড = ""; var ডিক্ট = "এবিসিডিইডিএফজিআইজেইসিএলএমএনওপিকিআরএসটিইউডাব্লুএক্সওয়াইজাবডেডিফঝিজ্ক্ল্ম্মনোপ্পারস্টুউক্সিজ0123456789"; (var i = 0; i <12; i ++) {অটোআইডি + = ডিক্টরচার্ট (ম্যাথ.ফ্লুর (ম্যাথ.র্যান্ডম () * ডিক। দৈর্ঘ্য)); auto ফিরতি অটোআইডি; } $ ('। স্বতঃসম্পূর্ণ অফ')। অ্যাটর ('স্বতঃপূরণ', অটোআইডি ()); </ কোড> আপনি autocompleteoffআপনার পছন্দসই ইনপুট ক্ষেত্রে শ্রেণিটি যুক্ত করতে পারেন ।
রঘুরাম কশ্যপ

আমার ক্রোম সংস্করণে কাজ করছে না 68.0.3440.106 (অফিসিয়াল বিল্ড) (-৪-বিট)
সুকন্যা পুরুষোথমন

ক্রোম এখন স্ট্যান্ডার্ডাইজড "অফ" ব্যবহার করার জন্য স্থির করা হয়েছে
ম্যাককে

1
দুঃখজনকভাবে এটি
ক্রোমকে

1
আজ আমি দেখতে পেয়েছি যে ক্রোম "অফ" দিয়ে এলোমেলো স্ট্রিংটি লিখে ফেলবে। আমি বিশ্বাস করতে পারি না যে ক্রোম বিকাশকারীরা এই বৈশিষ্ট্যটি খারাপ এবং অযৌক্তিক নিয়ন্ত্রণ করছে। ওহ কেন আমার পেল।
পদক্ষেপ

33

আমাকে সেই উত্তরগুলির সাথে পৃথক হতে অনুরোধ করতে হবে যা অটো-সম্পূর্ণ অক্ষম করা এড়াতে বলে।

প্রথম জিনিসটি সামনে আনতে হবে যে লগইন ফর্ম ক্ষেত্রগুলিতে স্পষ্টভাবে অক্ষম না হওয়া অটো-সম্পূর্ণ একটি পিসিআই-ডিএসএস ব্যর্থ। তদ্ব্যতীত, যদি কোনও ব্যবহারকারীর স্থানীয় মেশিনে আপোষ করা হয় তবে কোনও স্বয়ত্তর পরিপূর্ণ ডেটা একটি আক্রমণকারী দ্বারা তুচ্ছভাবে প্রাপ্ত হতে পারে কারণ এটি স্পষ্টে সংরক্ষণ করা হয়েছে।

ব্যবহারযোগ্যতার জন্য অবশ্যই একটি যুক্তি রয়েছে, তবে কোন ফর্মের ক্ষেত্রগুলিতে স্বয়ংক্রিয়রূপে অক্ষম থাকা উচিত এবং কোনটি করা উচিত নয় তা খুব ভারসাম্য ভারসাম্য রয়েছে।


এটি কেবল আমার নজরে এসেছে যে আপনি স্বয়ংক্রিয়রূপ ব্যবহার করে কোনও পাঠ্য ইনপুট পূরণ করার সময় আইই অন চেঞ্জ ইভেন্টগুলি ট্রিগার করে না। আমরা কয়েক ডজন ফর্ম পেয়েছি এবং এক হাজারেরও বেশি চেঞ্জ ইভেন্টগুলি (ইনপুট বৈধকরণ, ব্যবসায়িক যুক্তি) সেগুলি ছড়িয়ে দিয়েছি। সম্প্রতি আমরা আইই কে আরও নতুন সংস্করণে আপগ্রেড করেছি এবং হঠাৎ অদ্ভুত সব কিছু ঘটতে শুরু করে। ভাগ্যক্রমে আমরা একটি ইন্ট্রানেট অ্যাপ চালাচ্ছি এবং স্বপূরণ আমাদের জন্য কোনও ইউএক্স সমস্যা নয়, কেবল এটি বন্ধ করা সহজ।
রোবট্রন

3
কোনও ব্যবহারকারী লোকাল মেশিনে আপোস করা থাকলে তারা পিরিয়ড হয় period এটিতে একটি কিলগার ইনস্টল করা থাকতে পারে, এতে একটি নকল এসএসএল রুট শংসাপত্র যুক্ত থাকতে পারে এবং ভুয়া প্রক্সি ইত্যাদির মাধ্যমে প্রেরিত সমস্ত কিছু থাকতে পারে আমার স্বতঃপূরণ অক্ষম করার সত্যিকার কারণ আছে - যখন আমি প্রশাসক হিসাবে লগ ইন করি এবং সম্পাদনা ব্যবহারকারীর পৃষ্ঠাটি পরিদর্শন করি তখন এটি বরাদ্দ করে যে ব্যবহারকারী আমার প্রশাসক ব্যবহারকারীর নাম এবং পাসওয়ার্ড। আমার এই আচরণটি রোধ করা দরকার।
rjmunro

1
ব্রাউজার বিক্রেতারা তাদের নিজস্ব স্বার্থ অনুসন্ধান করছে বলে মনে হচ্ছে। সংরক্ষিত পাসওয়ার্ড = ব্যবহারকারীর লক-ইন। এবং স্বাবলম্বনটি অফ / অফ খুব সহজ ছিল - কেন শব্দার্থক ইঙ্গিতগুলির একটি জটিল স্ট্যান্ডার্ড নয় ( HTML ) ব্যবহারকারী দর্শন?
অ্যার_টেক

আমি যে নির্দিষ্ট ব্যবহারের ক্ষেত্রে সমাধানের চেষ্টা করছি সেটি হ'ল: তারা ইতিমধ্যে লগ ইন করেছে but তবে এখন তারা আরও বেশি সংবেদনশীল কিছুতে অ্যাক্সেস করতে চলেছে। আমি এমন একটি কথোপকথন দেখাতে চাই যাতে তারা পুনরায় সত্যায়িত হয়, এই সম্ভাবনার বিপরীতে যে তারা ধূমপান করতে গিয়েছিল এবং খারাপ ব্যক্তি তাদের চেয়ারে বসেছিল। স্বতঃপূরণকে পরাস্ত করার জন্য বেশ কয়েকটি কৌশল চেষ্টা করেছেন এবং কিছুই কার্যকর হয়নি। এখন আমি ভাবছি, সম্ভবত, কমপক্ষে, ভাল পুরানো 'পাসওয়ার্ড = উইন্ডো.প্রম্পট ("দয়া করে আপনার পাসওয়ার্ডটি আবার লিখুন")' এর সাথে সেশনে ব্যবহারকারীর নাম ব্যবহার করুন এবং এটি প্রমাণীকরণের চেষ্টা করুন।
ডেভিড

31

তিনটি বিকল্প: প্রথম:

<input type='text' autocomplete='off' />

দ্বিতীয়ত:

<form action='' autocomplete='off'>

তৃতীয় (জাভাস্ক্রিপ্ট কোড):

$('input').attr('autocomplete', 'off');

2
প্রথম এবং দ্বিতীয় বিকল্পগুলির একটি বিকল্প হওয়া উচিত, যেহেতু এটি ব্রাউজারগুলি কীভাবে পরিচালনা করে।
rybo111

চেষ্টা করা $ formElement.attr ('স্বতঃসম্পূর্ণ', 'বন্ধ'); এবং এটি কাজ করে না।
বেন সিনক্লেয়ার

22

সম্পর্কিত বা প্রকৃতপক্ষে, সম্পূর্ণ বিপরীত নোটে -

"আপনি যদি পূর্বোক্ত ফর্মটির ব্যবহারকারী হন এবং স্বতঃপূরণ কার্যকারিতা পুনরায় সক্ষম করতে চান তবে এই বুকমার্কস পৃষ্ঠা থেকে 'পাসওয়ার্ড মনে রাখবেন' বুকমার্ক ব্যবহার করুন It এটি পৃষ্ঠারautocomplete="off" সমস্ত ফর্ম থেকে সমস্ত বৈশিষ্ট্য সরিয়ে দেয় ! ভাল লড়াইয়ের লড়াই চালিয়ে যান! "


20

আমরা আসলে একটি সাইটের জন্য স্যাসব এর ধারণা ব্যবহার করেছি। এটি একটি চিকিত্সা অফিস চালানোর জন্য একটি মেডিকেল সফ্টওয়্যার ওয়েব অ্যাপ্লিকেশন ছিল। তবে, আমাদের ক্লায়েন্টদের মধ্যে অনেকে সার্জন ছিলেন যারা আধা-পাবলিক টার্মিনাল সহ প্রচুর বিভিন্ন ওয়ার্কস্টেশন ব্যবহার করেছিলেন। সুতরাং, তারা এটি নিশ্চিত করে তুলতে চেয়েছিলেন যে কোনও চিকিত্সক যিনি স্ব-সংরক্ষিত পাসওয়ার্ডগুলির বোঝা বোঝেন না বা মনোযোগ দিচ্ছেন না তারা দুর্ঘটনাক্রমে তাদের লগইন তথ্য সহজেই অ্যাক্সেসযোগ্য ছেড়ে যেতে পারে না। অবশ্যই, এটি ব্যক্তিগত ব্রাউজিংয়ের ধারণা আগে ছিল যা আইই 8, এফএফ 3.1 ইত্যাদি বৈশিষ্ট্যযুক্ত হওয়া শুরু হয়ে গেছে, তবুও অনেক চিকিত্সকরা আইটি সহ হাসপাতালে পুরানো স্কুল ব্রাউজার ব্যবহার করতে বাধ্য হন যা কোনও পরিবর্তন হয় না।

সুতরাং, আমাদের লগইন পৃষ্ঠাটি এলোমেলো ক্ষেত্রের নাম তৈরি করেছে যা কেবলমাত্র সেই পোস্টের জন্য কাজ করবে। হ্যাঁ, এটি কম সুবিধাজনক তবে পাবলিক টার্মিনালগুলিতে লগইন তথ্য সংরক্ষণ না করার বিষয়ে এটি কেবল ব্যবহারকারীকে মাথার উপরে চাপ দিচ্ছে।


20

এই কথোপকথনে কোনও সমাধানই আমার পক্ষে কাজ করেনি।

অবশেষে আমি একটি খাঁটি এইচটিএমএল সমাধান বের করেছিলাম যার কোনও জাভাস্ক্রিপ্টের প্রয়োজন নেই , আধুনিক ব্রাউজারগুলিতে কাজ করে (আই বাদে; কমপক্ষে 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>

এটি পুরোপুরি আমি যা খুঁজছিলাম!
মার্কো

20

সবেমাত্র সেট autocomplete="off"। এটি করার একটি খুব ভাল কারণ আছে: আপনি নিজের স্ব-পরিপূর্ণ কার্যকারিতা সরবরাহ করতে চান!


20

আমি অবিরাম সমাধান চেষ্টা করে চলেছি, এবং তারপরে আমি এটি খুঁজে পেয়েছি:

পরিবর্তে autocomplete="off"কেবল সহজভাবে ব্যবহার করুনautocomplete="false"

এতটা সহজ, এবং এটি গুগল ক্রোমেও কবজির মতো কাজ করে!


আপনি ক্রোমে যেমন বলেছেন, অফ মানটি কাজ করে না। এটি "মিথ্যা" হওয়া দরকার
অযুয়াক্স

আমার জন্য ক্রোম 44.0.2403.130 এ কাজ করে।
গুইসএস

1
এটি চেষ্টা করে: $ formElement.attr ('স্বতঃপূরণ', 'মিথ্যা'); দুঃখিত কাজ করে না।
বেন সিনক্লেয়ার

20

এটি আমার পক্ষে কাজ করে।

<input name="pass" type="password" autocomplete="new-password" />

আমরা এই কৌশলটি অন্যান্য নিয়ন্ত্রণে যেমন পাঠ্য, নির্বাচন করা ইত্যাদিতেও ব্যবহার করতে পারি


এটি সর্বশেষ উত্তর হওয়া উচিত। একমাত্র উত্তর যা সর্বশেষ ক্রোমে আমার জন্য কাজ করে
নিক চ্যান আবদুল্লাহ

19

আমি মনে করি autocomplete=offএইচটিএমএল 5 এ সমর্থিত।

নিজেকে যদিও জিজ্ঞাসা করুন আপনি কেন এটি করতে চান - এটি কিছু পরিস্থিতিতে বোধগম্য হতে পারে তবে কেবল এটি করার জন্য এটি করবেন না।

এটি ব্যবহারকারীদের পক্ষে কম সুবিধাজনক এবং এমনকি ওএস এক্স-তে কোনও সুরক্ষা সমস্যা নয় (নীচে সোরেন উল্লেখ করেছেন)। যদি লোকেরা তাদের পাসওয়ার্ডগুলি দূর থেকে চুরি করে নিয়ে চিন্তিত হয় - আপনার অ্যাপ্লিকেশন ব্যবহার করেও একটি কীস্ট্রোক লগার এখনও এটি করতে পারে autcomplete=off

একজন ব্যবহারকারী হিসাবে যিনি ব্রাউজারটি আমার তথ্যগুলি (বেশিরভাগ) স্মরণে রাখতে চান, আপনার সাইটটি আমার মনে না রাখলে আমি বিরক্তিকর হয়ে উঠব।


17

এ ছাড়াও

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');" >

আশাকরি এটা সাহায্য করবে.


1
আইআই ১১-এ আমার জন্য অনফোকাস পঠনযোগ্য বৈশিষ্ট্য অপসারণ করার পরেও আমি পাঠ্য বাক্সে টাইপ করতে পারি না। তবে আমি যদি দ্বিতীয় বার পাঠ্য বাক্সে ক্লিক করি তবে আমি টাইপ করতে পারি।
mcallahan

আমি আইই ১১ এর সাথে একই সমস্যাটিতে পৌঁছেছি (দ্বিতীয় ফোকাস না হওয়া পর্যন্ত টাইপ করতে পারি না)। অস্পষ্টতা যুক্ত করে আবার ফোকাস করা কাজ করে। $(document).on('focus', 'input:password[readonly="readonly"]', function () { $(this).prop('readonly', false).blur().focus(); });
পামশে

@ অ্যান্ড্রু অবশ্যই, আপনি পারেন। এটি এই বিষয়টিকে ছাপানোর মূল নীতি এবং আমি সম্পূর্ণ কোড উদাহরণ সহ একটি
আপডেটও যুক্ত করেছি

আমি আরও যোগ করেছিonfocusout="this.setAttribute('readonly', 'readonly');"
রিনাতডোবর

16

সবচেয়ে ভালো সমাধান:

স্বতঃপূরণ ব্যবহারকারী নাম (বা ইমেল) এবং পাসওয়ার্ড প্রতিরোধ করুন:

<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


2
আমার প্রাথমিক পরীক্ষায় এটি কাজ করতে পেয়েছি। এতটা বেড যে "অফ" কাজ করে না।
ক্রেগ জ্যাকবস

এটি অ্যান্ড্রয়েডে ক্রোমের পক্ষে কাজ করে না। আমি autocompleteবৈশিষ্ট্যের জন্য স্ট্রিংয়ের মানগুলি সেট করার চেষ্টা করেছি এবং এটি এখনও পূর্ববর্তী এন্ট্রিগুলিকে ইনপুটটির অধীনে স্বতঃপূরণ পরামর্শ হিসাবে প্রদর্শন করে।
tebs1200

@ tebs1200 কোনটি? পাসওয়ার্ড ফিল্ড নাকি টেক্সট ফিল্ড?
কাভা

@ কাভা বিলম্বিত প্রতিক্রিয়ার জন্য দুঃখিত। পাঠ্য ক্ষেত্র। আমি কী মান সেট করে তা বিবেচনাধীন নয় autocomplete, আমি এখনও পূর্বে প্রবেশ করা মানগুলির ভিত্তিতে একটি প্রস্তাবনা ড্রপডাউন পাই get এটি ডেস্কটপে ঠিক আছে, তবে অ্যান্ড্রয়েড ক্রোমে নয়।
tebs1200

14

গেমটি থেকে একটু দেরীতে ... তবে আমি কেবল এই সমস্যায় পড়েছি এবং বেশ কয়েকটি ব্যর্থতার চেষ্টা করেছি, তবে এটি এমডিএন- তে পাওয়া আমার জন্য কাজ করে

কিছু ক্ষেত্রে, স্বয়ংক্রিয়রূপে বৈশিষ্ট্যটি সেট করা থাকলেও ব্রাউজারটি স্ব-সমাপ্তির মানগুলির পরামর্শ দিবে। এই অপ্রত্যাশিত আচরণটি বিকাশকারীদের জন্য বেশ বিস্ময়কর হতে পারে। সত্যিই নো-সমাপ্তিকে বাধ্য করার কৌশলটি এই জাতীয় বৈশিষ্ট্যের জন্য এলোমেলো স্ট্রিংকে নির্ধারণ করা:

autocomplete="nope"

13

যোগ করা হচ্ছে

autocomplete="off"

ফর্ম ট্যাগটিতে inputসেই নির্দিষ্ট ফর্মের মধ্যে সমস্ত ক্ষেত্র থেকে ব্রাউজারটি স্বতঃপূরণ (যা আগে সেই ক্ষেত্রে টাইপ করা হয়েছিল) অক্ষম করে ।

পরীক্ষিত:

  • ফায়ারফক্স 3.5, 4 বিটা
  • ইন্টারনেট এক্সপ্লোরার 8
  • ক্রৌমিয়াম

13

যোগ autocomplete="off"করা এটি কাটা হবে না।

ইনপুট ধরণের বৈশিষ্ট্য এতে পরিবর্তন করুন type="search"
গুগল এক ধরণের অনুসন্ধানের সাথে ইনপুটগুলিতে স্বতঃপূরণ প্রয়োগ করে না।


4
এটি একটি হ্যাক। ক্ষেত্রটি অনুসন্ধানের ক্ষেত্র নয়। ভবিষ্যতে এটি সমস্যার কারণ হতে পারে।
রোল

12

ক্ষেত্রগুলির জন্য একটি মানহীন নাম এবং আইডি ব্যবহার করুন, সুতরাং "নাম" এর পরিবর্তে "নাম_" রাখুন। ব্রাউজারগুলি তখন এটি নাম ক্ষেত্র হিসাবে দেখবে না। এটির সর্বোত্তম অংশটি হ'ল আপনি এটি কিছু ক্ষেত্রে করতে পারেন তবে সমস্ত ক্ষেত্র নয় এবং এটি কিছুটি স্বয়ংক্রিয়ভাবে পূরণ করবে তবে সমস্ত ক্ষেত্র নয়।


এটির সাথে সমস্যাটি যদি অন্য কোনও সাইটগুলি একই উদ্দেশ্য অর্জন করতে "নাম_" ব্যবহার করে তবে আপনি আবার স্কোয়ারে ফিরে আসছেন।
ConroyP

3
সুতরাং এটি "mysite_name" করুন। অন্য কেউ যদি এটি ব্যবহার করে থাকে, আমি তাদের প্রশ্ন জিজ্ঞাসা করতাম ...
স্টিভ পার্ক

এটি সেই সমস্ত স্বয়ংক্রিয় জনবহুল ইউটিলিটিগুলিকে
বিভ্রান্ত

12

অবৈধ এক্সএইচটিএমএল এড়াতে আপনি জাভাস্ক্রিপ্ট ব্যবহার করে এই বৈশিষ্ট্যটি সেট করতে পারেন। JQuery ব্যবহার উদাহরণ:

<input type="text" class="noAutoComplete" ... />

$(function() {
    $('.noAutoComplete').attr('autocomplete', 'off');
});

সমস্যাটি হ'ল জাভাস্ক্রিপ্টবিহীন ব্যবহারকারীরা স্বতঃপূরণ কার্যকারিতা পাবেন।


38
এটি অবৈধ এক্সএইচটিএমএল এড়াতে পারে না, এটি পরীক্ষা করার পরে এটি কার্যকরভাবে বৈধ হিসাবে ঘোষণা করার পরে এটি অকার্যকর বিটকে গতিশীলভাবে যুক্ত করে!
Andiih

@ অ্যান্ডিহ: তাহলে এক্সএইচটিএমএলে স্ব-পরিপূর্ণ কাজ করার কোনও উপায় আছে?
চেরোভিম

1
কাজ (বা এটি কাজ করা বন্ধ করুন যা লক্ষ্য): উপরের মতো হ্যাঁ। তবে বৈধ - না।
Andiih

11

ঠিক autocomplete="off"যদি কাজ না করে তবে এগুলিও চেষ্টা করে দেখুন:

autocorrect="off" autocapitalize="off" autocomplete="off"

11

আমি বিশ্বাস করতে পারি না যে এটি রিপোর্ট করার পরে এত দিন এটি এখনও একটি সমস্যা। উপরের সমাধানগুলি আমার পক্ষে কার্যকর হয়নি, কারণ উপাদানটি কখন প্রদর্শিত হবে না বা অফ-স্ক্রিনটি প্রদর্শিত হবে না বলে সাফারি জানতে পেরেছিলেন, তবে নিম্নলিখিতগুলি আমার পক্ষে কাজ করেছে:

<div style="height:0px; overflow:hidden; ">
  Username <input type="text" name="fake_safari_username" >
  Password <input type="password" name="fake_safari_password">
</div>

আশা করি এটি কারওর জন্য উপকারী!


1
সুতরাং, এটিকে প্রকৃত ব্যবহারকারীর নাম এবং পাসওয়ার্ড ক্ষেত্রের পূর্বে রেখেছেন? ব্রাউজারটি সেগুলি পূরণ করেছে এবং আসল নয়
অ্যান্ড্রু

11

সুতরাং এটি এখানে:

function turnOnPasswordStyle() {
  $('#inputpassword').attr('type', "password");
}
<input oninput="turnOnPasswordStyle()" id="inputpassword" type="text">


1
স্টাইলের পাঠ্য বাক্সগুলিতে দৃশ্যমান পাসওয়ার্ডের ফ্ল্যাশ প্রতিরোধ করতে ভাল ধারণা মনে হচ্ছে।
অ্যান্ড্রু

1
অনেক অনেক ধন্যবাদ, এটি কাজটি +1 করেছে, আপনার সমাধানের ক্ষেত্রে আমার প্রকরণটি এটি একক লাইনে তৈরি করা হয়েছিল: <ইনপুট অনিনপুট = "এটি.প্রকার = 'পাসওয়ার্ড'" আইডি = "ইনপুটপাওয়ার্ড" টাইপ = "পাঠ্য">
হাসনা ইব্রাহিম

@ হাসনাআব্রাহিম ধন্যবাদ (: মাঝে মাঝে আরও পাঠযোগ্য আরও ভাল
স্ট্যাভ বোডিক

11

এটি একটি সুরক্ষা সমস্যা যা ব্রাউজারগুলি এখন উপেক্ষা করে। ব্রাউজারগুলি ইনপুট নাম ব্যবহার করে সামগ্রী সনাক্ত করে এবং সঞ্চয় করে, এমনকি বিকাশকারীরা তথ্যটি সংবেদনশীল হিসাবে বিবেচনা করে এবং সংরক্ষণ করা উচিত নয়। 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']);

এবং ব্রাউজারটি আগের অনুরোধ বা পূর্ববর্তী ব্যবহারকারীদের কাছ থেকে তথ্য প্রস্তাব করতে সক্ষম হবে না।

ব্রাউজারগুলি আপডেট হয়ে গেলেও স্বতঃপূরণটিকে অগ্রাহ্য করতে চান বা না করতে চাইলেও সমস্ত আকর্ষণীয় কাজ করে। আমার পক্ষে সমস্যাটি সমাধান করার সর্বোত্তম উপায় এটি ছিল।


10

এখানে উল্লিখিত হ্যাকগুলির কোনওই ক্রোমে আমার পক্ষে কাজ করেনি। এখানে বিষয়টি নিয়ে একটি আলোচনা রয়েছে: 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>

1
মনে রাখবেন যে এই কৌশলটি ব্যবহার করে ফায়ারফক্স প্রকৃতপক্ষে সেই গোপন ক্ষেত্রটি স্বয়ংক্রিয়ভাবে পূরণ করবে, যা ফর্মটি জমা দেওয়ার সময় অন্তর্ভুক্ত করা হবে। এটি সম্ভবত খারাপ হবে, কারণ পাসওয়ার্ডটি তখন কোনও সম্ভাব্য অনিরাপদ সংযোগে স্থানান্তরিত হবে। ভাগ্যক্রমে যুক্ত করা maxlength="0"ফায়ারফক্সকে ক্ষেত্রটি অটোফিলিং থেকে আটকাতে পারে।
মিকাল স্ক্যাচট জেনসেন

9

আপনি ইনপুট ব্যবহার করতে পারেন।

উদাহরণ স্বরূপ;

<input type=text name="test" autocomplete="off" />
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.