私はPHP開発にかなり慣れていません。これまで、ユーザーのログインを維持するためにハッシュ(ユーザー+パスワード)をCookieに保存していましたが、今ではphpセッションを発見しました。
もちろん、誰かがサーバーにアクセスせずに、このように保存された値を変更することは可能ですか?
$_SESSION['username'] = 'test@test.com';
いいえ、サーバーにアクセスせずにセッションを直接変更することはできません(ハッキングの抜け穴を残すまで)
セッションは、Cookieを介してユーザーにマップされるサーバー(RAMまたはファイルシステム)上の配列です。ユーザーはCookieでのみセッションIDを取得します。ユーザーが戻ると、PHPはそのセッションIDを取得し、セッションを復元します。
クライアントが変数を変更することはありません$_SESSION
。また、パスワードをに保存しないことをお勧めし$_SESSION
ます$_COOKIE
。ユーザーとパスワードが正しいかどうかを確認してから、またはを作成して$_SESSION['userID']
から$_SESSION['user']
、次のようなisset関数を使用してifステートメントを作成することにより、セッションが作成されたかどうかを確認できます。
if(isset($_SESSION['user'])){
// do something...
}