どのようにWebフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするには? (2/6)

html forms browser autocomplete




Answer 6 brendan


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

これはInternet ExplorerとMozilla FireFoxで動作しますが、欠点はXHTML標準ではないことです。




Answer 7 Sam Hasler


他の人が言ったように、答えは autocomplete="off" です

ただし、これに対するいくつかの回答と重複する質問から、これをオフにしない方がよいことが示唆されているため、特定のケースでこれを使用するのがなぜ良いのかを述べる価値があると思います。

クレジットカード番号を保存するブラウザの停止は、ユーザーに任せるべきではありません。問題だと気づかないユーザーが多すぎる。

クレジットカードのセキュリティコードのフィールドではオフにすることが特に重要です。同様に、このページの状態:

「セキュリティコードは絶対に保存しないでください。その価値は、物理的なクレジットカードから読み取ることが唯一の方法であり、コードを提供した人が実際にカードを保持していることを証明するという推定に依存しています。」

問題は、それが公共のコンピューター(サイバーカフェ、図書館など)である場合、他のユーザーがカードの詳細を盗むのは簡単であり、自分のマシンでさえ、悪意のあるWebサイトがオートコンプリートデータを盗む可能性があることです。




Answer 8 step


Google Chromeとの果てしない戦いをランダム文字列を使って解決しました。常にランダム文字列でオートコンプリートをレンダリングしていると、何も覚えてくれません。

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

他の方のお役に立てれば幸いです。




Answer 9 Securatek


オートコンプリートを無効にするのを避けるためにと言っている回答とは意見が分かれるところですね。

まず、ログインフォームのフィールドでオートコンプリートが明示的に無効化されていないことは、PCI-DSS の違反である。さらに、ユーザーのローカルマシンが侵害された場合、オートコンプリートのデータが平文で保存されているため、攻撃者はオートコンプリートのデータを簡単に手に入れることができます。

確かにユーザビリティについての議論はありますが、オートコンプリートを無効にすべきフォームフィールドと無効にすべきフォームフィールドのバランスは非常に微妙です。




Answer 10 yajay


3つの選択肢があります。まず第一に

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

Second:

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

サード(javascriptのコード)。

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