SOFTELメモ

</> 技術者募集

オートコンプリート(パスワードの自動入力)を阻止する

問題

ブラウザで、パスワードの自動入力が設定されているとしても、自動入力を阻止して、画面表示時点でパスワードを空欄の状態にしたい。

don't autocomplete

答え

オートコンプリートの発動条件は以下の通りらしいのですが、

この項目のオートコンプリートの対象となるのは、FORM オブジェクト中に存在する “INPUT TYPE=TEXT” および “INPUT TYPE=PASSWORD” に入力される文字列で、これらは “INPUT TYPE=SUBMIT”を使用し FORM をサブミットした場合のみ保存します。

http://support.microsoft.com/kb/917458/ja

この情報は古く、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

関連するメモ

コメント