トップページはこちら

セッションの復元機能

この機能は、バージョン0.9.10とそれ以降で利用可能です。

セッションデータには、セッション乗っ取りなどの危険性を緩和するために有効期限が設けられており、最後のアクセスから、その期限が経過しているセッションデータは破棄され、それまでのCookieやアクセス履歴、表示設定などは全て消滅してしまいます。特に、端末ID(製造番号とかサブスクライバIDとかシリアル番号とか)を送信しない端末では、比較的セッション乗っ取りなどの危険性が高いため、有効期限を極力短く設定する必要があり、また、IDの送信機能はあれど、その都度、送信の要求と確認が必要なNTTドコモのiモード端末では、ページを遷移するたびにIDを要求すると利用者の利便性を著しく損ねるため、これは通常は行われず、そのため原則は、IDを送信しない端末と同じ扱いになっています。また、それ以外の端末でも、セッション乗っ取りなどの危険性が皆無ではないので、あまり長い有効期限を設けるわけにもいきません。
そのため、例えば、認証が必要なサイトを頻繁に利用する向きは、毎回ユーザ名とパスワードを入力し直したりする必要があり、スクリプトの管理者だろうが、作者だろうが、これを逃れることはできませんでした。おかげさまで、ウェブメールにログインして、長文の超大作を入力し終えて、いざ送信しようと思ったら期限切れでログアウトになってて、せっかく入力した内容は消え失せ、「おれ、作者なのに…orz」ということがあったりするわけです(実話)。

てなことで、管理者特権を設けよう(笑)という主旨で用意されたのがこの機能です。
管理者があらかじめ登録してある端末IDと暗証番号による認証を経ると、セッションデータは都度バックアップ保存され、有効期限が切れた後も、最後に保存された時点のものに復元できるというものです。まあ、要するにログイン機能なわけですが、誰でも利用できるわけではなく、管理者が手動で登録する必要があるので、管理者特権。
なお、認証には端末IDを利用しますので、IDの送信機能がない端末では、残念ながら利用できません。悪しからず。

認証に用いる端末IDと暗証番号は、あらかじめAuth.inc.phpに、以下のように登録しておきます。

$_auth_db = array(
  '端末IDのMD5ハッシュ値' => '暗証番号のMD5ハッシュ値',
);

MD5ハッシュ値とは、元の文字列を非可逆変換した32ビットの16進数ですが、_check_auth.phpは、この「端末IDのMD5ハッシュ値」と「暗証番号のMD5ハッシュ値」を簡単に知るためのスクリプトです。携帯端末でこのスクリプトにアクセスして、暗証番号を送信すると、TEXTAREAにそれぞれの値が表示されるので、(それをコピーしてPCにメール送信するとかなんとかして)Auth.inc.phpに登録してください。

で、「pc2m.php?_ucb_a=l」のように、スクリプトの「a」パラメータの値を「l」(LOGINのエルね)にしてアクセスすると、保存と復元の操作画面が表示されます。お試しあれ。

注意


2005/08/10

トラックバック

このエントリーのトラックバックURL:
http://www.rcdtokyo.com/mt/mt-rcdtokyo5428-tb.cgi/740

コメント

コメントをどうぞ



保存しますか?