目次:
ビデオ: 27: Session and Cookies in PHP | PHP Tutorial | Learn PHP Programming | PHP for Beginners 2024
あなたがログインした後にあなたを歓迎したり、ログイン後にあなたのアカウントのカスタム情報を提示したりして、あなたの人を追跡するためにクッキーを使うウェブサイトを間違いなく見たことがあります。 PHPセッションとCookieを使用して、リクエストごとにフォームに沿ってデータを送信するなど、これを行うことができます。
しかし、それは安全ではなく、今日のWebアプリケーションにはほとんど柔軟性がありません。幸いなことに、より良い方法があります。それはすぐにあなたの指先で行われます:セッション。
<! - 1 - >PHPセッション
PHPでのセッションは、ユーザーをページごとに追跡する安全な方法です。セッションでは、ユーザーの電子メールアドレス、名前、電話番号などの情報を保存し、サイトに必要な場所に自動的に記入することができます。
たとえば、ログイン時に、ユーザーデータベースからユーザーのファーストネームと電子メールアドレスをロードするとします。その情報を使用するまで、基本的にユーザーから隠されたセッションにその情報を格納することができます。
<! - 2 - >他の変数と同様にセッション変数を使用します。背後では、セッションは$ _SESSIONという配列に格納されます。 PHPで名前付き配列と同じように値を格納します。たとえば、次のように電子メールアドレスと名前を追跡できます。
$ _ SESSION ['emailAddress'] = "me @ example。com"; $ _SESSION ['firstName'] = "スティーブ";
セッションを使用して、Webフォームに埋め込まれた情報を、隠れたフォーム変数でサイトを介して持ち運ぶことなく追跡することもできます。
<! - 9 - >PHPクッキー
セッションは、 ブラウザクッキーで渡されます。 は、Webブラウザとの間でやりとりされる少しの情報です。情報の実際のビット、またはそれらのビットが実際に何であるかは、プログラマ、あなた次第です。
たとえば、ユーザーの名前を含むCookieを送信できます。次に、ユーザーのコンピュータにCookieを保存し、次にユーザーがサイトにアクセスしたときに、Cookieがプログラムに送信され、個人用の挨拶が表示されます。
しかし、クッキーはユーザーから取得した他のデータと似ています。クッキーからのデータは、信頼できないため、サニタイズする必要があります。言い換えれば、あなたのプログラムが訪問者のブラウザにクッキーを送信すると、訪問者はそのクッキーを編集したり、自分が望むものに変更することができます。
あなた(ウェブ開発者)がクッキーを使ってユーザ名を保存している場合、訪問者はユーザ名を希望どおりに変更してからプログラムに送り返すことができます。
ユーザーがクッキーを編集する可能性は、単にセッションを使用するだけで解決できます。セッションCookieが作成されると、長い文字列の ハッシュ値 が使用されます。つまり、ユーザーがCookieの値を変更しても、つまり、ユーザーがそのハッシュを変更すると、プログラムで実際に使用しているものは実際に変更されていません。
代わりに、PHPはあなたの代わりにクッキーからそのハッシュの翻訳を処理します。そして、$ _SESSION配列の中で物事を使うことができます。 $ _SESSION配列に格納された実際の値は、ユーザには見えません。それらはサーバー上にのみ存在します。
もちろん、Cookieでセッションを使用すると、ユーザーのブラウザでCookieを有効にする必要があります。そうでない場合、ユーザーはアプリケーションを使用できません。