[PHP-users 35335] Re: セッションハイジャックと session_regenerate_id() について

shinichiro mori shinichiro.mori.1983 @ gmail.com
2010年 8月 18日 (水) 18:34:58 JST


森です。林さん、コメントありがとうございます。

> 意味は”ログインセッションの認証はリクエスト毎に行うべき”という観点からです。
> セッションハイジャックの原因となる運用的な盲点は「ログイン処理が通った
> セッションは信頼できる」という間違ったルールからなっています。初めからロ
> グインセッションを信頼しておかなければいくつか対策も出てくると思います。
> ログインセッションもリクエストパラメータと同じでクライアントに依存した
> データですので、信頼は出来ません。そう考えるとセッションがハイジャックさ
> れていようがいまいが、どちらにしても毎回認証をすべきです。
>
>> 常にIPアドレスとチェックをしていると、ころころアクセスIPアドレスが変わる
>> ケーブルテレビ網などで問題が出やすいとは思います
>
> と、あきらさんが仰る通り一長一短ですので、状況に応じて第三オクテットまで
> 保存するなど仕様を変えてみる事も視野に入れた方が良いと思います。
>
> 本質的な解決ではありませんが、セキュアなリクエストが要求されるシーンでは
> 再度パスワード等に依る承認を行うなどの方法も検討された方が良いかと思いま
> す。つまり、ログインセッションを守るだけではセキュアなセッションは確立で
> きません。

確認をしたいのですが、「ログインセッションの認証」という表現をされていますが、
これは「ユーザ名とパスワードによる認証」とは別の意味でしょうか?

そうだとしますと、セッション変数に格納された IPアドレスやユーザーエージェント
について、リクエスト毎に $_SERVER のそれらと一致するかをチェックすることを
「認証」と言われているのでしょうか?それとも、別の意味でしょうか?

返信よろしくお願いします。


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