PHP での Cookie とセッションの操作

WBOY
リリース: 2023-06-23 10:38:01
オリジナル
1963 人が閲覧しました

Web アプリケーションの人気が高まるにつれ、Cookie とセッションは Web 開発に不可欠な部分になりました。一般的に使用される Web 開発言語として、PHP は Cookie とセッションを非常に適切にサポートしています。この記事ではPHPでCookieとセッションを操作する方法を紹介します。

1. Cookie の概念

1. Cookie とは何ですか?

Cookie はクライアント側でデータを保存する方法です。クライアントはブラウザーやモバイル端末などです。 Cookie は、HTTP 応答ヘッダーの Set-Cookie フィールドを設定することによって、データをクライアントに保存します。ブラウザはデータをローカルに自動的に保存します。次回サーバーが要求されたときに、データがサーバーに送信されます。サーバーはこれらを使用します。データ データはそれに応じて論理的に処理されます。 Cookie によって保存されるデータにはサイズ制限があり、通常は 4KB を超えません。

2. Cookie の役割

Cookie は、ユーザーのログイン ステータス、ユーザーの閲覧履歴、ユーザーのショッピング カート情報などの記録など、いくつかのシナリオで使用できます。

3. Cookie の特性

信頼性: Cookie データはクライアントのブラウザに保存され、ユーザーは自由に消去できるため、Cookie データの信頼性はあまり高くありません。

セキュリティ: Cookie データはクライアントに保存されるため、他の人がクライアント内の Cookie を簡単に見ることができるため、Cookie のセキュリティは不十分です。

2. PHP での Cookie の操作

1. Cookie の設定

PHP で Cookie を設定するには、setcookie() 関数を使用します。

setcookie(name, value, expire, path, domain, secure, httponly);
ログイン後にコピー

パラメータの説明:

  • name: Cookie の名前。
  • value: Cookie の値。
  • expire: Cookie の有効期限 (秒単位)。デフォルトは 0 で、ブラウザを閉じると失敗することを意味します。
  • path: Cookie が有効になるパスを指定するオプションのパラメーター。デフォルトは「/」です。これは、この Cookie がすべてのパスのページからアクセスできることを意味します。
  • domain: Cookie が有効になるドメイン名を指定するオプションのパラメーター。デフォルトは空の文字列で、現在のドメイン名で有効であることを意味します。
  • secure: オプションのパラメータ。Cookie が HTTPS 経由でのみ送信できるかどうかを指定します。デフォルトは false です。
  • httponly: オプションのパラメーター。Cookie を HTTP 経由でのみ送信できるかどうかを指定します。デフォルトは false です。

サンプルコード:

setcookie('name', 'tom');
setcookie('age', '20', time()+3600); //设置过期时间为1小时
ログイン後にコピー

2. Cookie の取得

PHP で Cookie を取得するには、スーパー グローバル変数 $_COOKIE を使用して取得できます。メソッドは次のとおりです:

$value = $_COOKIE['name'];
ログイン後にコピー

3. Cookie の削除

PHP で Cookie を削除するには、setcookie() 関数を使用して有効期限を過去の時刻に設定します:

setcookie('name', '', time()-3600); //将过期时间设置成一个过去的时间,即可删除Cookie
ログイン後にコピー

3. セッションの概念

1. セッションとは何ですか?

セッションはサーバー側にデータを保存する方法です。サーバー側でセッション ID を生成できます。PHP では、セッション ID はデフォルトで Cookie を介してクライアント側に保存されますが、URL 書き換えやその他の方法で実装することもできます。セッションにはデータの保存に関して Cookie のサイズ制限はありませんが、サーバーのパフォーマンスを考慮する必要があります。

2. セッションの役割

セッションは、ユーザーのログイン ステータス、ユーザーのショッピング カート情報などの記録など、いくつかのシナリオで使用できます。

3.セッションの機能

信頼性: セッション データはサーバー側に保存され、ユーザーが自由に消去できないため、セッション データは比較的信頼できます。

セキュリティ: セッション データはサーバー側に保存されるため、クライアントはセッション データを取得できないため、セッション セキュリティは比較的良好です。

4. PHP でのセッションの操作

1. セッションを開く

Session を使用する前に、Session を開く必要があります。 PHP では、次のコードを通じてセッションを開くことができます:

session_start();
ログイン後にコピー

2. セッションのセットアップ

PHP でセッションをセットアップするには、$_SESSION スーパー グローバル変数を使用して、

$_SESSION['name'] = 'tom';
ログイン後にコピー

3. セッションの取得

PHP でのセッションの取得は、スーパーグローバル変数 $_SESSION を使用しても取得できます。 Cookie:

$value = $_SESSION['name'];
ログイン後にコピー

4. セッションの削除

PHP でセッションを削除するには、unset() 関数を使用できます:

unset($_SESSION['name']);
ログイン後にコピー

5. セッションの破棄

PHP でセッションを削除するには、session_destroy() 関数を使用できます:

session_destroy();
ログイン後にコピー

概要:

この記事からわかるように、Cookie とセッションは Web における重要な概念です。ユーザーのステータスや閲覧履歴などの情報を記録するために使用できます。 Cookie やセッションを使用する場合は、セキュリティ上の問題が発生しないように、その特性とセキュリティに注意する必要があります。 PHP では、setcookie() 関数と $_COOKIE スーパーグローバル変数を使用して Cookie を操作できます。また、session_start() 関数と $_SESSION スーパーグローバル変数を使用してセッションを操作することもできます。

以上がPHP での Cookie とセッションの操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート