PHPでログイン機能をサイトにつけるなら、セッションを使用する方法が割と一般的かと思うのですが、
セッション名を初期値のPHPSESSIDから変更する、session_regenerate_id(true)を使用する、ログインフォーム使用時にトークンを使用する等、挙げたらきりがないほど様々なセキュリティ対策が必要というのは理解したのですが、わからないことがあります。
ログイン時にユーザーが入力するデータが「メールアドレス」と「パスワード」だけのとき、ログイン判定に使用するセッション変数には、何を設定するのが適切なのでしょうか。
セッション変数には、ユーザーがログイン時に入力したデータを代入するのが一般的と思っているのですが(そもそもこの認識が誤りなのかもしれませんね・・・)、ログイン時にセットされるセッション変数にユーザーのメールアドレスを代入し、それがセットされているか否かでログインの有効無効を判定するのは、セッション変数の中身が第三者に漏洩される最悪のケースを想定した場合、やはりまずいでしょうか。それとも、セッション変数の中身を暗号化すれば平気なのでしょうか。
暗号化してもまずい場合、ログイン時に入力する項目を増やして、そこに個人情報を含まない、例えば「任意のユーザーID」などを入力してもらい、それをログイン判定のためのセッション変数として利用するのが良いのでしょうか。
どなたかお詳しい方がいらっしゃいましたら、どうか宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー