オートコンプリートが機能していないように見せかける

今やっている案件で、
違うユーザーが同一PC、同一ブラウザで認証が必要なシステムにアクセスしたい
といった要望がありました。

オートコンプリート機能を使うと入力情報は保存されるので
違うユーザーがなりすまして入ることができてしまいます。

しかし、そもそも
オートコンプリート機能自体は、ブラウザに依存するので
システムからでは根本的に回避する方法はないのですが、
大人の事情があり、見かけ上だけでも見せなくする手段を
作ることになりました。

そして、できたのがこちらです。
回避策対応版

検証方法は、
1.上記のページにアクセスします。
2.適当に、文字を入力しsubmitボタンを押します。
3.ブラウザで記憶するか聞かれるので記憶します。
4.一度閉じるか、リロードするなどして、再度上記のページを開きます。
再度ページを開いた際に、入力フォームに値が入っていないと思います。
ブラウザによっては、inputタイプがpasswordではない場合に、
フォーカスを合わせて下キーを押すと候補がでるようですが、
選択してもpasswordは表示されないと思います。

実装方法は、
ソースを見ていただければわかると思いますが、
bodyタグのonloadイベントで、
フォームのinputboxを作成しているだけです。

この方法を使えば、どうやらオートコンプリート機能は動かないようです。

こちらは、何も実装していないオートコンプリートが働くフォームです。
回避策非対応版

改めて書きますが、
この方法は、根本的な解決にはなりません。

以上、苦肉の策でした。

Leave a Reply