2008/07/03
カテゴリ : Tech
JavaScript
Firefox
ブラウザのパスワード記憶機能の困った現象
- 2008/07/03
15:24追記 - コメント欄で「通りすがり2」さんに
autocomplete="off" とのコメントいただきました。大変ありがとうございます。 - ※ググったところ、autocomplete
の指定で Firefox が記憶喪失になるのを防ぐ方法(http://postal-search-apis-and-solutions.blogspot.com/2008/06/autocomplete-firefox.html)との情報もありました。 - 貴重な情報ありがとうございました。
ずっとメインブラウザはOperaを使い続けてきたのですが、Firefox3が出てからすごく使いやすくなり、Firefoxに乗り換えた、中川です。
かなり便利(高速)になったFirefoxなのですが、
ログイン時などのlogin-id, passwordを記憶してくれる機能にちょっと困った現象に出会いました。
↓こんなのです。
・ログインフォーム
- <h1>ログイン</h1>
- <form
method="post" action="index.php"> <input type="text" name="username" /><br /> <input type="password" name="password" /><br /> <input type="submit" name="login" value="ログイン" /> - </form>
で、これで管理画面などにログインして、D,PASSWORDを記憶させた場合、その中で、管理者管理などを作るときにユーザ名、パスワードを編集するような編集画面(新規登録画面)に行くと記憶したパスワードが勝手に入ってしまいます。
・新規登録フォーム
- <h1>新規登録</h1>
- <form
action="edit.php" method="post"> <input type="text" name="username" id="username" value="" /><br /> <input type="password" name="password" id="password" value="" /><br /> <input type="submit" name="edit" value="編集" /> - </form>
編集などの場合には、username の value に値が入っている場合は記憶された値が勝手に入ることはないようですが、新規登録などの username インプットの value が空の場合に勝手に記憶された値が入ってしまいます。(そのための機能なのですが、うっとうしいですね。)
そもそも自分は記憶は一切させないようにしたい派なんですが、そうも言っていられないので、ググってもそれっぽい情報がでなかったので、記憶された値を入れない方法を考えてみました。
username の value を " "(空白一個)にしておき、javascriptで以下のように空に戻してあげます。
※ちなみにOpera9.5ではなぜかpasswordにだけ記憶された値が入っていました。。。
※IE7は優秀?でusernameを入れたらpassowordが補完されました。
・新規登録フォームのheadタグ内に追加
- <script
type="text/javascript"> - //<![CDATA[
- window.onload
= function() { document.getElementById("username").value = ""; document.getElementById("password").value = ""; // opera用 - }
- //
]]> - </script>
これで、記憶された値が入らないようになりました^^;
何か、firefoxの機能で記憶された値を出さないような書き方があって、html側で制御
できる方法がありそうなものですがどうなんでしょう?
ご存知の方いらっしゃればコメントいただければと思います。
コメント
コメントフォーム
トラックバックURI
最近の記事
JavaScriptのクロスドメイン問題対応方法 [2012年05月17日 : 笹亀弘]
JavaScriptのコーディング規約を気軽にチェック [2012年05月14日 : 中川善樹]
誕生日プレゼント [2012年05月10日 : 阿部恵]
イラストでわかる!git入門の入門 [2012年05月09日 : 志田仁美]
【CSS3】HSL色空間による色指定のすゝめ [2012年05月09日 : 橋本章史]
インスピレーションをかきたてるポスターデザインのまとめ記事のまとめ [2012年04月25日 : 鴨田健次]
エンジニアの英会話 〜とっさの一言〜 [2012年04月19日 : 斉藤勝也]
イコライザーをFireworksで描いてみました [2012年04月16日 : 和田記光]
SFNewTech Japan Night のファイナリストに選出されました!(他、もろもろの出展の御案内) [2012年04月06日 : 小林有佳]
使えるとちょっと便利なSSHのTIPS [2012年04月04日 : 牧野克俊]













通常、アカウントの入力情報の保存なんてログイン画面くらいしかないと思うので、 name="login_username"とでもしておけばいいのではないかと。
JavaScriptでスペース消すやり方より安全な気がします
試してないので動かなかったらすいません。
さっきのは、たぶんname属性で判断してるだろうということで書いています。
nameを変えてもだめでしたので、強引にjavascript
でやっていました。書くの忘れていました。。。
>通りすがり2さん
ありがとうございます!!!!
まさしくこれでした。login manager や passwordなどでは調べてたのですが、autocompleteとは。
記事に追記いたしました。
ありがとうございました。