SOFTELメモ

</> 技術者募集

自動ログインの実装方法メモ

実装案3つとその特徴

案1|CookieにログインIDとパスワードを保存して、Cookieが残っている限りいつでもログインできる。
一番だめな案。問題外。
案2|セッションの有効期限を長くする。ブラウザを閉じてもセッションのCookieを残すようにする。
実装の手間を考えた妥協案といえるでしょうか。phpなら簡単に設定できる。
「まあこれでいいか…」ということでこの方法を採っている場合もあるのでは。
セッションIDが十分推測しづらく、1ヶ月ぐらいセッションを有効にしてもきっと大丈夫ならよいのですが、セッションの有効期限がやたらと長いというのが、まず心配。
たいてい全ユーザーに対して同じ設定になるので、自動ログインを希望していないユーザーに対してだけ、短い時間でセッションを切り、ブラウザを閉じたらCookieを破棄するのが面倒になる。
自動ログインを希望している人のセッションデータもそうでない人のデータも長期間に渡って溜まっていく。
案3|自動ログイン専用のキーをクッキーに保存する。
一番まともな実装。
便利なので、phpデフォルトのセッションは使えばよいが、通常通りセッションは切れるようにする。
有効期限の長い自動ログイン専用のクッキーは別に用意する。
自動ログインを希望するユーザー、希望しないユーザーへの対応ができる。
攻撃の可能性を極力減らすため、自動ログインのキーは自動ログイン専用の処理だけが参照するようにする。
これなら、有効期限の長い自動ログインのキーはものすごく長くてランダムな文字列にして総当り方式では破れないようにするなどの対策が可能。
自動ログイン=セッションが長いではなく、セッションが切れていたら自動でログインするという動きにする。

関連するメモ

コメント