私の質問は、セッション固定に関するこの要約についてです。
アリスは銀行http://unsafe.com/に口座を持っています。残念ながら、アリスはセキュリティに精通していません。
マロリーは銀行からアリスのお金を手に入れるために出かけています。
アリスはマロリーに対して妥当なレベルの信頼を持っており、マロリーが彼女に送るリンクにアクセスします。
- マロリーは、 http: //unsafe.com/が任意のセッション識別子を受け入れ、クエリ文字列からセッション識別子を受け入れ、セキュリティ検証がないと判断しました。したがって、http: //unsafe.com/は安全ではありません。
- マロリーはアリスに電子メールを送信します:「ねえ、これをチェックしてください、私たちの銀行にクールな新しいアカウント要約機能があります、http://unsafe.com/?SID=I_WILL_KNOW_THE_SID」。マロリーはSIDをI_WILL_KNOW_THE_SIDに固定しようとしています。
- アリスは興味があり、 http: //unsafe.com/?SID=I_WILL_KNOW_THE_SIDにアクセスします。通常のログオン画面が表示され、アリスがログオンします。
- マロリーはhttp://unsafe.com/?SID=I_WILL_KNOW_THE_SIDにアクセスし、アリスのアカウントに無制限にアクセスできるようになりました。(クレジット:RichieHindle)
質問:
Q1-サイトがセッション識別子を受け入れないようにする方法はありますか?
Q2-サイトで$_GET変数を使用しないので、クエリ文字列からセッション識別子を受け入れないようにする方法はありますか?
- 注:SSLでphp 5.4.3を使用しており、session_regenerate_idも使用します。