iOS9.0.2のSafariで意図しないフォームにユーザー名が自動入力される現象を調べた時のメモ
発生した現象
ログインIDとパスワードを保存しているサイトで、ユーザー情報を編集する画面を開いた際に本来メールアドレスを入力する欄にログインIDが補完された。
iOS9.0.2でのみ発生。
再現してみる
とりあえず下記のような最小限のログインフォームのようなものを作ってlogin_idとpasswordの値を保存した。
<form method="POST">
<div>
login_id<input type="text" name="login_id">
</div>
<div>
password<input type="password" name="password">
</div>
<div>
<input type="submit">
</div>
</form>
自動入力が働いた時と同じ名前の入力欄があるページを作って開いてみる。
<form method="POST">
<div>
email<input type="text" name="email">
</div>
<div>
<input type="submit">
</div>
</form>
あれ…入力されない…
色々試してみたところpasswdという名前の欄を追加すると再現することが分かった。(現象が発生したページにも存在する)
<form method="POST">
<div>
email<input type="text" name="email">
</div>
<div>
passwd<input type="text" name="passwd">
</div>
<div>
<input type="submit">
</div>
</form>
半端に略されてるのが気になりnameをpasswordにしても同様の動きをした。
ちなみにpasswdのtypeをpasswordにするとパスワードまで補完されてしまった。(name違うのに)
<form method="POST">
<div>
email<input type="text" name="email">
</div>
<div>
passwd<input type="password" name="passwd">
</div>
<div>
<input type="submit">
</div>
</form>
もう少し調べた
ユーザー名っぽい名前の欄とパスワードっぽい名前の欄があるとログインフォームだと判定されるのか、保存してあるユーザー名をユーザー名っぽい欄に入れることが分かった。
<form method="POST">
<div>
foo<input type="text" name="foo">
</div>
<div>
username<input type="text" name="username">
</div>
<div>
bar<input type="text" name="bar">
</div>
<div>
passwd<input type="text" name="passwd">
</div>
<div>
<input type="submit">
</div>
</form>
ユーザー名っぽい名前の欄が無ければパスワードっぽい名前の欄の直前に入る模様
<form method="POST">
<div>
foo<input type="text" name="foo">
</div>
<div>
bar<input type="text" name="bar">
</div>
<div>
passwd<input type="text" name="passwd">
</div>
<div>
<input type="submit">
</div>
</form>
色々試してみた
ユーザー名っぽい名前
- id
- login_id
- user_id
- login_name
- user_name
- username
- loginname
ユーザー名っぽくない名前
- user
- name
- loginid
- userid
パスワードっぽい名前
- passwd
- password
- user_passwd
- login_passwd
パスワードっぽくない名前
- pass
- pwd
- pword
- userpasswd
- loginpasswd
ユーザー名っぽくない文字列同士でも組み合わせるとユーザー名っぽい文字列になったりする。
パスワードはpasswd、passwordあたりが単語として含まれていると認識される?
よくわからない。
結局
パスワードっぽかった欄の名前をパスワードっぽくない名前に変更することで凌いだ。
関連してそうな記事
iOS 9.0.1のSafariでログインフォームの自動入力が効かない
逆に自動入力してくれない話。
バージョンが近いし何か怪しい…
iOSの話ではないけど似た挙動の話。
この記事のオートコンプリートを抑止する方法は、パスワードっぽい欄のtypeがpasswordならiOSでも有効だった。
Author And Source
この問題について(iOS9.0.2のSafariで意図しないフォームにユーザー名が自動入力される現象を調べた時のメモ), 我々は、より多くの情報をここで見つけました https://qiita.com/tateren/items/ab203ed9e16e5b905a43著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .