ホームページ > バックエンド開発 > PHPの問題 > PHPのCookieとセッションの違いは何ですか

PHPのCookieとセッションの違いは何ですか

青灯夜游
リリース: 2023-03-14 09:42:01
オリジナル
5710 人が閲覧しました

違い: 1. Cookie はブラウザに保存されるため比較的安全ではありませんが、セッションはサーバーに保存されるため比較的安全です。 2. Cookie によって保存されるデータには数量とサイズの制限がありますが、セッションには制限がありません。 3. Cookie によって保存されるデータは文字列型であり、セッションによって保存されるデータはオブジェクト型です。

PHPのCookieとセッションの違いは何ですか

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

システム運用保守の担当者かどうかまたは PHP 開発者 インタビューで、PHP のセッションと Cookie の違いは何ですか?とよく質問されます。以下に要約してみましょう:

Cookie はクライアントによってのみ生成、管理、および使用されます。PHP はクライアントに Cookie の生成方法、有効期限などを尋ねる指示のみを発行しますが、クライアントは必ずしも PHP の指示に従うとは限りません。説明書の作業です。

Cookie はあまり安全ではないため、犯罪者はローカル Cookie を分析することで Cookie のなりすましを行うことができます。セキュリティの問題を考慮すると、重要なユーザー情報はセッションに保存することをお勧めしますが、保持する必要があるその他の重要でない情報は Cookie に保存できます。

セッションとは、ユーザーが Web サイトにアクセスしてからブラウザを閉じるまでのセッションです。デフォルトではファイルの形式でサーバーのディスクに保存されます。そのため、セッションの設定が多すぎると、サーバーのパフォーマンスに影響します。ディスク。メモリ エンジンを使用して保存することもできます。MySQL を入力してください。メモリ エンジンは読み取りと書き込みが高速であるため、Redis を使用してセッションを処理するように指定できるようになり、より高速で効率的になります。

セッションの失効メカニズムは受動的です。通常、ブラウザを閉じると、セッションは PHP によって自動的にリサイクルされます。ただし、有効期限が設定されてブラウザが閉じられた場合でも、セッションが失われる場合があります。セッションを保存するために複数のディレクトリと複数のレベルを設定する場合、PHP スクリプトを使用して手動でセッションを削除する必要があるなど、削除できない場合があります。

通常、Cookie はセッションにバインドされています。つまり、ユーザーが Cookie を無効にしない場合、Cookie は通常、セッション ID とセッションの有効期間を保存します。ユーザーが Cookie を削除すると、通常、ユーザーはシステムを終了します。無効にしないとブラウザが閉じられ、セッションもすぐに無効になるため、システムに再度ログインする必要があります。

Cookie とセッションは通常、ユーザーの識別、権限の認証、単純なデータの保存、およびシングル サインオンを実現するための Cookie の使用に使用されます。

Cookie によって保存されるデータには、ブラウザごとに制限が異なりますが、通常、同じドメイン名では、Cookie 変数の数は 20 個以内、各 Cookie の値のサイズは 4kb 以内に制御されます。 Session 値のサイズや数に制限はありませんが、多すぎるとサーバーへの負荷が増大します。また、Cookie で保存される内容は文字列ですが、Session で保存されるデータはオブジェクトです。

セッションはパスを区別できません。同じユーザーが Web サイトにアクセスしている間、すべてのセッションにどこからでもアクセスできます。パス パラメータが Cookie に設定されている場合は、同じ Web サイト内の異なるパスにあるすべてのセッションにアクセスできます。 Cookie は相互にアクセスできません。

COOKIE と SESSION の違い

(1) 保存場所: Cookie はクライアントのブラウザに保存されますが、比較的安全ではありません。セッションのコンテンツを含むファイルはサーバー (通常はルート ディレクトリの tmp フォルダー) に保存されますが、これは比較的安全です。

(2) 量とサイズの制限: Cookie によって保存されるデータはブラウザごとに異なる制限があり、通常、同じドメイン名では Cookie 変数の数は 20 個以内に制御され、それぞれの値は制御されます。 Cookieのサイズは4kb以内に管理されています。セッション値のサイズや数に制限はありませんが、多すぎるとサーバーへの負荷が増大します。

(3) コンテンツの違い: Cookie によって保存されるコンテンツは文字列ですが、セッションによってサーバーに保存されるデータはオブジェクトです。

(4) パスの違い: セッションはパスを区別できません。同じユーザーが Web サイトにアクセスしている間、すべてのセッションはどこからでもアクセスできます。パス パラメーターが Cookie に設定されている場合、同じ Cookie が異なる場所に存在します。 Web サイト上のパスは相互にアクセスできません。

推奨学習: 「PHP ビデオ チュートリアル

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

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