PHP Cookie とセッションの違い
michael_h_reedhotmailcom /ゲッティイメージズ
の PHP 、サイト全体で使用するように指定された訪問者情報は、セッションまたは Cookie に保存できます。どちらもほとんど同じことを達成します。 Cookie とセッションの主な違いは、Cookie に保存された情報は訪問者のブラウザーに保存され、セッションに保存された情報はそうではなく、Web サーバーに保存されることです。この違いにより、それぞれが最適な用途が決まります。
ユーザーのコンピュータに Cookie が存在する
Web サイトは、ユーザーのコンピューターに Cookie を配置するように設定できます。その Cookie は、情報がユーザーによって削除されるまで、ユーザーのマシンに情報を保持します。 Web サイトのユーザー名とパスワードを知っている人がいる場合があります。その情報は、訪問者のコンピューターに Cookie として保存されるため、訪問のたびに Web サイトにログインする必要はありません。 Cookie の一般的な用途には、認証、サイト設定の保存、ショッピング カートのアイテムなどがあります。ほとんどすべてのテキストをブラウザの Cookie に保存できますが、ユーザーはいつでも Cookie をブロックしたり削除したりできます。たとえば、Web サイトのショッピング カートで Cookie を使用している場合、ブラウザで Cookie をブロックしている買い物客は Web サイトで買い物をすることができません。
訪問者は Cookie を無効にしたり、編集したりできます。機密データの保存に Cookie を使用しないでください。
セッション情報は Web サーバーに常駐
セッションは サーバ側 訪問者が Web サイトと対話している間だけ存在することを意図した情報。クライアント側には一意の識別子のみが保存されます。このトークンは、訪問者のブラウザーが HTTP アドレスを要求したときに Web サーバーに渡されます。そのトークンは、ユーザーがサイトにいる間、Web サイトと訪問者の情報を照合します。ユーザーが Web サイトを閉じると、セッションが終了し、Web サイトは情報にアクセスできなくなります。永続的なデータが必要ない場合は、通常、セッションが適しています。比較的小さい Cookie と比較して、少し使いやすく、必要なだけ大きくすることができます。
訪問者がセッションを無効にしたり編集したりすることはできません。
したがって、ログインが必要なサイトがある場合、その情報は Cookie として提供された方が適切です。そうしないと、ユーザーは訪問するたびにログインする必要があります。より厳格なセキュリティと、データとその有効期限を制御する機能を希望する場合は、セッションが最適に機能します。
もちろん、両方の長所を活かすことができます。それぞれが何をするかを知っていれば、Cookie とセッションを組み合わせて使用して、サイトを希望どおりに機能させることができます。