[PHP-users 14327] Re: セッションと戻るボタンとセキュリティと

MT php-users@php.gr.jp
2003年 3月 26日 (水) 07:09:57 JST


ありがとうございます。
セッションIDをURLにくっつけたのは、セッションが良くわかっていなかったのと、
万能視し過ぎていたことと、何より、某大手レンタルショップの会員登録がその
ようになっていたからです。
携帯専用(au)に特化して端末IDで認証しているらしく、1回しかアクセスできません
でした。ちょっと誤解して全ての場合でこれでいけると思っていました。

プログラム構成の話はphpと直接関係ないかもしれませんので、言語と関係なく
コンテンツ構成やプログラムフローに関するフォーラムに心当たりがあれば、
教えていただきたいのですが。

あとは頂いたコメントに対する返信です。

◇SUMiさんへ
>セッションIDですが、デフォルトでは一定時間が経過すると使用されていないセッ
>ション情報は破棄(ガベージコレクト)されます。
>よって、上記の方法ではメールを送信した後、ユーザーが記載されたURLへアク
>セスするまでに時間がかかった場合、既にセッション情報は破棄され認証に失敗
>する可能性があります。

明示的に何日間有効というのはプログラム上設定していませんし、ユーザーにも
アナウンスしていませんが、有効期限が切れるのは都合がいいと思っています。
ウェブページ → メール →  ウェブページ と遷移するわずかな時間だけ有効で
あればよいので。その間にDB登録などバックエンドの作業もありますし、時間が
経過していろいろ状況が変わる可能性まで加味しなければならなくなります。
運用してみて将来的には有効期限も設定する必要があるかもしれませんが、
現状ではデフォルトでは長い(充分)気がしています。

> もう一工夫して
>   → メールアドレスとユーザーの任意のパスフレーズを入力
>                 ← 確認メール受信(受付番号のみが発行される)
>   → メール記載のURLにアクセス
>   → パスフレーズを入力
>                 ← 受付番号とパスフレーズの一致を確認。認証OK。
>   → ユーザー情報を入力
>                 ← DBに登録
>                 ← 登録完了
> これでいかがでしょう。

この流れが現時点では万全のような気がします。
ありがとうございます。


◇わたなべ さんへ
>メールアドレスの大文字小文字をどう扱うか?ということをきちんと
>規定しておかないとあとで面倒なことになります。

メールアドレスは一応、大文字小文字を区別するべきだという認識でいました。
Nifty のアドレスなんかは大文字使っている人多かったような気がするのですが。
strtolower で揃えてしまうとまずくはないですか?
僕のUNIQUE 設定では abc@abc.comAbc@abc.com は区別され、実質重複登録になる
ということに気が付きました。
入力された文字列で登録し、重複チェックするときは小文字にそろえるとかそういう
工夫が必要ということでしょうか。

abc@abc.comAbc@abc.com が同一人物の場合、DMが2通届く、投稿/評価系コンテンツで
他人のふりができる。問題点はそんなところでしょうか。

後者に関しては、いまどき複数のメールアドレスを持っている人も多いと思いますので、
個人の重複登録防止というよりはメールアドレスの重複登録防止しかできていないという
ところをおさえて全体を設計しないとだめですね。


-- 
MT <akc@mutt.freemail.ne.jp>




PHP-users メーリングリストの案内