竹形誠司 ブログ
Java+MySQL+Tomcat    »トピック一覧
掲示板へのスパムが多いため、「ご質問」のコーナーはユーザー登録制とさせていただきました。お手数ですが、上の「新規ユーザーの登録」メニューより登録をお願いします。
帳票Web
アプリケーション

受注開発始めました
詳しくは こちら
竹形 誠司 著/ラトルズ刊
JSP帳票アプリケーション実践開発入門
JSP帳票アプリケーション
実践開発入門

JSP業務アプリケーション短期開発入門
JSP業務アプリケーション
短期開発入門

Java+MySQL+Tomcatで始めるWebアプリケーション構築入門
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門

Java+MySQL+Tomcatで作る掲示板とブログ
Java+MySQL+Tomcatで作る
掲示板とブログ
Tomcatで自動ログイン
by 竹形 誠司[takegata]
SMSなどのサイトで、ログイン画面に「次回から自動的にログイン」というチェックボックスがよくありますが(このブログにもあります)、この仕組みはクッキーを使えば比較的簡単に実装できます。

ただし、クッキーにユーザー名とパスワードを書いてしまってはいけません(昔はそういうサイトが結構ありました)。クッキーはクロスサイト・スクリプティングなどの脆弱性によって、外部に漏れてしまう可能性がありますし、それ以前に自分の設定したパスワードがクッキー・ファイルに「ベタ書き」されているのをユーザーが見たら、それだけで気分を悪くするでしょう。

自動ログインには、ユーザー名やパスワードの代わりに、ランダムに生成した文字列(ここでは、これを自動ログインキーと呼ぶことにします)を使います。この文字列をサーバ側のデータベースと、ユーザー側のクッキーの両方に書き込んでおけば、これらを照合することによってユーザーを特定できるわけです。

自動ログインキーは偶然に重なったり、順番に試すことで当てられたりしないように、十分に長くする必要があります。自動ログインキーの一部にシリアル番号などを組み込むと、重複は防止できるでしょう。

気をつけなければならないのは、ユーザーがインターネット・カフェや学校などの共有のコンピュータでうっかり「自動ログイン」を有効にしてしまう可能性があることです。このようなユーザーのうっかりミスは完全には防止できませんが、一定時間の経過後に自動ログインキーを無効にしたり、定期的に自動ログインキーを更新するようにしておけば、ある程度は実害を抑えることができます。

Tomcatでクッキーを扱う方法については、拙著「Java+MySQL+Tomcatで始めるWebアプリケーション構築入門」に書いたので、こちらも参考にしていただければ幸いです。
投稿:竹形 誠司[takegata]/2008年 02月 12日 05時 38分 /更新:2008年 02月 19日 17時 58分