ホームページ  >  記事  >  バックエンド開発  >  Cookie とセッションの詳細な紹介 (写真とテキスト)

Cookie とセッションの詳細な紹介 (写真とテキスト)

不言
不言転載
2019-02-15 13:25:193258ブラウズ

この記事は、Cookie とセッションについて詳しく (写真とテキストで) 紹介しています。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

Cookie テクノロジー

Cookie は、ブラウザーにデータを保存できるブラウザー側のテクノロジーです。 Cookieとはブラウザに保存されているデータのことです!

PHP は Cookie テクノロジーをサポートしています。 PHP はブラウザにデータを保存する命令をブラウザに発行できます。

ブラウザはデータを保存する責任があり、php はブラウザが保存するデータを制御する責任があります。 (php はブラウザ上で Cookie テクノロジーを使用します)

ブラウザに保存された Cookie データは、ブラウザがサーバーにリクエストするたびにデータを保持してサーバーにリクエストを行うことができます。このとき、サーバー上のスクリプトは次のことを行うことができます。このデータを入手してください!

基本的な使い方

Cookie 変数の設定、追加、変更、削除

内部関数の使用 setcookie Complete

フォーム: setcookie(name, value)

Cookie 変数を取得、読み取り

事前定義された配列変数を使用:$_COOKIE

この変数には、ブラウザからのリクエスト時に送信されるすべての Cookie データが保存されます。

各要素は Cookie 変数データです。添え字は名前、値は値です。

基本原則

firebug の [ネットワーク] タブの使用:

セットアップ時に何をしましたか?

応答として、サーバーはブラウザに Cookie 変数を追加する命令を送信します。

#指示を受けて、ブラウザは Cookie データをブラウザに追加しました!

取得すると、何をしましたか?

#ブラウザは、リクエストに応じて、現在のサイトのすべての Cookie をサーバーに送信します。

php はブラウザによって運ばれる Cookie を自動的に取得し、ユーザー スクリプトで使用できる $_COOKIE 配列を形成します。

高度な使用法

1. Cookie データは文字列データのみです。

2.setcookie関数で追加・変更・削除が可能!

存在しない場合は追加し、存在する場合は変更してください。

削除する場合は、値を空白のままにする形式を使用できます。

3. Cookie 変数の有効期限

Cookie データには有効期間という概念があります:

デフォルトの一時クッキー。ブラウザを閉じるまで保存されます!

同時に、setcookie の 3 番目のパラメーターを追加して、Cookie 変数の有効期間を変更することがサポートされています。有効期間はタイムスタンプとして表現され、どの時点で有効期限が切れるかを示します。

php は time() 関数を通じて現在のタイムスタンプを取得し、time() を段階的に増やすことで Cookie 時間を延長できます。

この時点で、サーバーはブラウザに次の指示を発行します。

時刻はブラウザ上で表されます。グリニッジ標準時を使用したネットワーク!タイムゾーンの概念がない時代! GMT

ブラウザは Cookie 変数の有効期間を認識しています。

一般的に使用される操作:

1 .Cookie には有効なパスという概念があります

Cookie 変数は、現在のディレクトリとその子孫ディレクトリでのみ有効です。

##test/ の下に設定すると、test/sub/

## の下でアクセスできます。

#これは Cookie のせいです:

Cookie データの有効なパスを変更できます:

4 番目のパラメーターを使用して変更します。 setcookie の変更:

/ は、サイトのルート ディレクトリが有効であることを示します。サイト全体に有効です!

#5. Cookie サブドメイン名の概念

Cookie はドメインを厳密に区別します。名前。

サブドメイン名間の共有をサポート:

5 番目のパラメータを使用して

有効期間、有効なパス、有効なサブドメインを設定します。

6、$_COOKIE は、現在のスクリプトによって設定された Cookie 変数をキャプチャできません。

#$_COOKIE は、リクエスト時にブラウザによって送信されるすべての Cookie です。

現在の設定は次回リクエストするときのみ使用されます。

セッション テクノロジー、セッション テクノロジー

シナリオ:

Cookie の問題

データ自体はブラウザー側にあるため: データセキュリティの問題!

リクエスト時には必ずデータを携行する必要があります。

これを解決するには? ブラウザの複数のリクエスト間でデータを共有することに注意してください。

データをサーバー側に置き、同時にブラウザからのデータを区別し、ブラウザの複数のリクエスト間でデータを共有します。

サーバー上で、アクセスするブラウザごとにデータ スペースを追加し、これらのデータ スペースに異なる一意の識別子を割り当てます。各ブラウザに一意の識別子を割り当てます。サーバー側データベース空間の識別子は、

要件に 1 対 1 で対応する必要があります。ブラウザはリクエストを行うたびに識別子を保持します。このとき、サーバーは識別子を取得してその識別子を使用できます。データ空間は決定されていますが、要求されたすべてのデータ処理は現在決定されている空間内で完了します。

サーバーによってブラウザに割り当てられた一意の識別子は、ブラウザの Cookie に保存されるため、ブラウザはその識別子を常に保持することができます。

サーバーは、新しいブラウザ アクセスごとに ID (ID のないブラウザ) を決定し、サーバー上に一意のデータ スペースを生成します。

基本的な使い方

$_SESSION 配列を直接操作して、セッション データの保存と取得を完了します。

各セッション データは $_SESSION の要素に対応します。要素を操作することは、セッション データを操作することを意味します。

ただし、セッション ID の生成、セッション データ領域のオープン、ブラウザへのセッション ID の割り当てなどのセッション テクノロジはすべて、PHP のセッション メカニズムのサポートを必要とします。

したがって、$_SESSION 変数を操作してセッション データを操作する前に、まずセッション サポートを有効にする必要があります。

開く:

session_start();

操作:

$_SESSION;

最初に開いてから操作します:

更新と削除:

基本原則

#ブラウザ側 Cookie に保存されるセッション ID:

現在のブラウザが初めてサーバーにリクエストを行うとき、サーバーはその ID を判断できません。ブラウザ

一意の識別子が再生成され、Cookie の形式でブラウザに保存されます。

デフォルトの Cookie 変数名は PHPSESSID です。

この Cookie スカラーは sessionID とも呼ばれます。

ブラウザに sessionid cookie 変数がある場合、後続のリクエストは ID を伝えてリクエストを行います:

#サーバー側はセッション データ スペースです。

デフォルトでは、PHP はセッション データが保存されるスペースにファイルを生成します。ファイル名でどのIDに属するかを区別しましょう!

デフォルトはサーバー オペレーティング システムの一時ディレクトリに保存されます:

おおよそのプロセス:

テスト:

セッションを使用してログイン ID の検証を完了します:

以上がCookie とセッションの詳細な紹介 (写真とテキスト)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。