質問: PHPとMySQLを使ったログイン機能を実装する際の、正しいログイン状態の継続に関してお教えください。 入力されたIDとパスワードが正しい場合に会員専用ページへと移動し、そこへユーザーに登録された情報が表示されるとします。 ログイン後、ユーザーはサイト内のページを移動してもログインした状態は継続されます。 ログイン直後の会員専用ページに戻れば、また自分のユーザー情報が表示されます。 このようなユーザーがページを移動しても正しくログイン状態を継続させ、ページによっては必要な情報をデータベースから取得し表示する機能は、どのように行うべきでしょうか? 書籍などには、ログインが正しく行われた場合に、セッションにユーザーIDを格納する、というものもありましたが、場合によっては危ないのではと思いました。 おそらく、セッションなどでログイン状態とログインユーザーを管理しているかと思いますが、具体的にどのような情報を格納して判断材料としているのか、が知りたいです。 知識をお持ちの方がいらっしゃいましたら、お教えくださいませ。
回答: > > 書籍などには、ログインが正しく行われた場合に、セッションにユーザーIDを格納する、というものもありましたが、場合によっては危ないのではと思いました。 > > > セッションハイジャックなどが起きれば、セッションIDを窃取され、なりすまされてしまう可能性もゼロではありません。なので正しいセッション管理が必要だと思います。 > > おそらく、セッションなどでログイン状態とログインユーザーを管理しているかと思いますが、具体的にどのような情報を格納して判断材料としているのか、が知りたいです。 > > > **「セッション情報はサーバーに保存されるものなので、セッションIDを持っている人以外、外部から取得することが出来ない」**という前提で、ほとんどのシステムは作られていると思いますので、必要とする情報をなんでも入れていると思います。 SSLを使えば、セッションハイジャックの可能性も低くすることができるでしょう。 ちなみに、どんな危険性を考えておられるんでしょうか?