オートコンプリート(パスワードの自動入力)を阻止する
問題
ブラウザで、パスワードの自動入力が設定されているとしても、自動入力を阻止して、画面表示時点でパスワードを空欄の状態にしたい。
答え
オートコンプリートの発動条件は以下の通りらしいのですが、
この項目のオートコンプリートの対象となるのは、FORM オブジェクト中に存在する “INPUT TYPE=TEXT” および “INPUT TYPE=PASSWORD” に入力される文字列で、これらは “INPUT TYPE=SUBMIT”を使用し FORM をサブミットした場合のみ保存します。
この情報は古く、Windows8 + IE11で試したところ、それ以外にもいろいろとオートコンプリートが発動する様子です。
ブラウザにパスワードを覚えさせたくない、ブラウザにパスワードを自動入力させたくない場合は、以下のように、パスワード入力欄を複数含めるとよさそうです。
<form method="post" class="alert alert-success"> <p>ログインID: <input type="text" name="d1" value=""></p> <p>パスワード: <input type="password" name="d2" value=""></p> <p style="display:none;">パスワードダミー: <input type="password" name="d3" value=""></p> <p style="display:none;">パスワードダミー: <input type="password" name="d4" value=""></p> <p><input type="submit" value="ログイン"></p> </form>
動作確認用画面
https://www.softel.co.jp/blogs/tech/archives/demo/autocomplete
autocomplete属性について
・autocomplete=”off” をするアイデアもありますが、パスワードの自動入力の阻止はできないようです。
・IE11以降とChromeは[type=”password”]な入力欄のautocomplete=”off”は無視するそうです。
http://msdn.microsoft.com/en-us/library/ie/ms533486.aspx
http://internetcom.jp/webtech/20140410/2.html
コメント