セッションとクッキーの違いと使い方を理解する(画像とテキストのチュートリアル)
この記事では、セッションとクッキーの動作原理、違いと使用法、使用時の利点と欠点を主に紹介します。違いと原理をリストすることで、必要な友人がこの2つの関係をよりよく理解できるようになります。それ
Cookie の概念
特定の Web サイトを閲覧すると、これらの Web サイトは、Web サイトを使用するユーザーを追跡し、ユーザー定義の機能を実装するために使用されるデータをクライアントに保存します。
有効期限を設定するかどうか。時間:有効期限が切れている場合は、有効期限が設定されていない場合、ブラウザは閉じて再開しますブラウザでは、これらの Cookie は、設定された有効期限が経過するまで有効です。 ハード ドライブに保存された Cookie は、2 つの IE ウィンドウなど、異なるブラウザ プロセス間で共有できます。メモリに保存される Cookie は、ブラウザごとに処理方法が異なります。
原則:
ブラウザが Cookie を使用する場合、すべてのデータはブラウザ側に保存されます。 たとえば、ログイン後、サーバーは Cookie のユーザー名 (ユーザー名) を設定し、その後サーバーに再度リクエストすると、の場合、ブラウザはユーザー名を一緒にサーバーに送信し、これらの変数には特定の特別なタグが付けられます。
サーバーはそれを Cookie 変数として解釈します。
したがって、ブラウザが閉じられていない限り、Cookie 変数は常に有効になるため、長時間切断されないことが保証されます。
ユーザーの Cookie 変数を傍受し、データ パケットを偽造して送信できる場合でも、サーバーはユーザーが正当であると認識します。そのため、Cookieを利用した攻撃を受ける可能性が比較的高いと言えます。
有効期限が設定されている場合、次回 Web サイトにアクセスするときに、ブラウザは最初に Cookie があるかどうかを確認し、Cookie があれば送信します。それをサーバーに送信します。
つまり、クッキーは偽造できるのです。 もちろん、偽造する際にはいくつかのアイデアが必要です。Cookie ファイルを Cookie ディレクトリに直接コピーすると、ブラウザはそれを認識しません。 それには、Cookie ファイルの作成時刻と、Cookie ファイルが作成されたかどうかを保存する、index.dat ファイルがあります。変更されているため、最初に Web サイトの Cookie ファイルを用意する必要があり、保証時間に関してブラウザを欺く必要があります
私はかつて学校の VBB フォーラムで実験を行い、他の人の Cookie をコピーしてログインしました。 、他人の名前で投稿しても全く問題ありませんでした。
Cookieの使用法:
setcookie("user","zy",time()+3600); 设置user为zy,一小时之后失效; $_COOKIE['user']; 取回user值(名字) setcookie("user","",time()-3600); 删除cookie,第二个参数为空,第三个时间设置为小于系统的当前时间即可.
またはブラウザの設定で
Cookieを使用すると、Cookieはテキストファイルを自動的に生成し、IEブラウザの一時Cookieフォルダに保存します。ブラウザによって削除される Cookie ファイルの具体的な操作手順は、 & gt; IE ブラウザでツール/インターネット オプション コマンドを選択し、[インターネット オプション] ダイアログ ボックスを開き、 & gt; 従来のオプションで [Cookie を削除] ボタンをクリックします。カードを選択し、ポップアップ ダイアログ ボックスをクリックして [OK] ボタンをクリックすると、すべての Cookie ファイルが正常に削除されます。ユーザーデータを保存するためにサーバー側に保存されます (Web 開発テクノロジーごとに実装が異なる場合があるため、HashTable の直下で呼び出されます)。
関数:
サーバー側に保存されるオブジェクトのコレクションです。 Webページ間のデータ転送を実現します。
原則:
ユーザーが Asp.net ページをリクエストすると、システムはアプリケーションを終了するかサーバーを閉じるとセッションを自動的に作成します。システムはセッションを作成するときに、セッションを管理および追跡するために長い文字列の識別子を割り当てます。
セッション メカニズムはサーバー側のメカニズムであり、サーバーは情報を保存するためにハッシュ テーブルに似た構造を使用します (またはハッシュ テーブルを使用する場合もあります)。 保存:
これはサーバーセグメントのメモリプロセスに保存されており、このプロセスは非常に不安定で、再起動するとセッションが無効になり、ユーザーエクスペリエンスが非常に悪くなります。ユーザーが情報を入力しています。プログラムが終了しようとすると、セッションが期限切れになり、ログイン ページに直接ジャンプします。
セッションが作成されているかどうか:
プログラムがセッションを作成する必要がある場合。クライアントのリクエストがあった場合、サーバーはまずクライアントのリクエストが含まれているかどうかを確認します セッション識別子 (セッション ID と呼ばれます)
が含まれている場合、以前にこのクライアントに対してセッションが作成されたことを意味し、サーバーはこのセッションを取得しますセッションIDに従って....このセッションでは、
セッション ID の値は、重複または一意ではない値である必要があります。パターンを見つけて偽造しやすい文字列です。このセッション ID は、保存のためにこの応答でクライアントに返されます。
(概要: セッションを作成するとき、サーバーはクライアントにセッション ID が含まれているかどうかを確認します。含まれている場合は、セッション ID に従ってセッションを取得します。そうでない場合は、新しいセッションを作成する必要があります。)
クライアント実装フォームセッションの保存方法 (つまり、セッション ID の保存方法):一般に、ブラウザには 2 つの保存方法が用意されていますが、プログラマが HTML の隠しフィールドを使用して実装をカスタマイズする別の方法もあります:
[1] Cookie を使用して保存します。この記事の「ログイン状態を記憶する」機能の実装は、正式にはこの方法に基づいています。
サーバーは Cookie を設定することでセッション ID をブラウザに送信します。
この有効期限を設定しない場合、ブラウザを閉じると、この Cookie はハードディスクに保存されず、セッション ID も失われます。
[3] 3 番目の方法は、ページ フォームに隠しフィールドを追加することです。この方法は、実際には 2 番目の方法と同じです。ただし、前者は GET を介してデータを送信し、後者は POST を使用してデータを送信します。しかし明らかに後者の方が厄介です。 フォームの隠しフィールドとは、サーバーがフォームを自動的に変更して隠しフィールドを追加し、フォームの送信時にセッション ID をサーバーに返すことができるようにすることを意味します。例:
ユーザー情報をセッションに保存する前に、まずセッションを開始します $ _Session ['user'] = "zy"; ]); ユーザー名 session_destory() を破棄します
Cookie とセッションの違い:
、Cookie データは顧客のブラウザに保存され、セッション データはサーバーに置かれます。d現在のSESSION_IDは、対応するユーザーデータフラグを決定して、ユーザーがログインしているか、特定のアクセス許可を持っているかを判断します。
データはサーバー上に保存されるため、偽造することはできませんが、ログインしているユーザーの session_id を取得できれば、特別なブラウザを使用してユーザーのリクエストを偽造することもできます。 ️ session_id はサーバーとクライアントの接続時にランダムに割り当てられることが多いですが、同時リクエストが多い場合は重複する可能性が一度あります。
ウェブサイトにログインすると、最初は自分の情報が表示されますが、一定時間が経過するとタイムアウトになり、更新すると実際に他の人の情報が表示されます。
セッションは、アプリケーションサーバーによって維持されるサーバー側のストレージスペースであり、ユーザーがサーバーに接続すると、サーバーによって一意のセッションIDが生成され、サーバー側のセッションストレージにアクセスするための識別子として使用されます。空間。 SessionID データはクライアントに保存され、ユーザーがページを送信すると、SessionID がサーバーに送信され、セッション データにアクセスします。このプロセスには開発者の介入は必要ありません。したがって、クライアントが Cookie を無効にすると、セッションも無効になります。
2
. Cookie はあまり安全ではありません。セキュリティ上の理由から、ローカルに保存された Cookie を分析して COOKIE セッションを使用する必要があります。3
. セッションはサーバーに一定期間保存されます。アクセスが増加すると、サーバーのパフォーマンスがさらに消費され、サーバーのパフォーマンスを低下させるために COOKIE を使用する必要があります。个单4、1 つの Cookie によって保存されるデータは 4K を超えることはできません。多くのブラウザでは、サイトで保存できる Cookie は 20 個までに制限されています。 (セッション オブジェクトには保存されるデータ量に制限がなく、より複雑なデータ型を保存できます)
注:セッションは簡単に期限切れになり、ユーザー エクスペリエンスが非常に低下します
Cookie は安全ではありませんが、安全ではありません。暗号化する必要があります; Cookie も永続的なものと一時的なものに分けられます;
ブラウザには Cookie 禁止機能がありますが、ほとんどのユーザーはそれを設定しません;
必ず有効期限を設定してください。有効期限を設定しないと、ブラウザが暗号化されたときに消えてしまいます。 close;
例:パスワード記憶機能では、クライアント コンピュータに書き込まれる永続的な Cookie が使用され、次回ログインするときに Cookie 情報が自動的にサーバーに送信されます。
アプリケーションは、すべてのユーザーによって共有されるグローバル情報です。たとえば、現在この Web サイトにログインしているユーザーの数を記録し、この情報をすべてのユーザーに表示できます。 2 つの最大の違いはライフサイクルです。1 つは、IE の起動から IE のシャットダウンまでです (ブラウザーのページを閉じるとすぐにセッションが消えます)。もう 1 つは、プリセットされたライフサイクル、またはファイルが永続的に保存されることです。地元で。 (クッキー)
以上、皆さんに向けてまとめてみましたので、今後皆さんのお役に立てれば幸いです。
関連記事:
node
mysqlデータベースに接続する手順を詳しく解説
以上がセッションとクッキーの違いと使い方を理解する(画像とテキストのチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









コンピュータ上の Cookie は、使用するブラウザとオペレーティング システムに応じて、ブラウザ上の特定の場所に保存されます。 1. Google Chrome、C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies に保存されます。等

Cookie は通常、ブラウザの Cookie フォルダに保存されます。ブラウザの Cookie ファイルは通常、バイナリ形式または SQLite 形式で保存されます。Cookie ファイルを直接開くと、文字化けしたり判読できないコンテンツが表示される可能性があるため、使用することをお勧めします。 Cookie を表示および管理するためにブラウザによって提供される Cookie 管理インターフェイス。

セッション障害は通常、セッションの有効期間の期限切れまたはサーバーのシャットダウンによって発生します。解決策: 1. セッションの有効期間を延長する; 2. 永続ストレージを使用する; 3. Cookie を使用する; 4. セッションを非同期的に更新する; 5. セッション管理ミドルウェアを使用する。

PHPSession のクロスドメイン問題の解決策 フロントエンドとバックエンドの分離の開発では、クロスドメイン要求が標準になっています。クロスドメインの問題に対処するときは、通常、セッションの使用と管理が必要になります。ただし、ブラウザーのオリジンポリシーの制限により、デフォルトではセッションをドメイン間で共有できません。この問題を解決するには、いくつかの技術と方法を使用して、セッションのクロスドメイン共有を実現する必要があります。 1. ドメイン間でセッションを共有するための Cookie の最も一般的な使用法

携帯電話上の Cookie は、モバイル デバイスのブラウザ アプリケーションに保存されます: 1. iOS デバイスでは、Cookie は Safari ブラウザの [設定] -> Safari -> [詳細] -> [Web サイト データ] に保存されます; 2. Android デバイスでは、Cookie は保存されますChromeブラウザの設定→サイト設定→Cookieなど

ますます多くのユーザーが win11 システムにアップグレードし始めています。各ユーザーの使用習慣が異なるため、多くのユーザーは依然として ie11 ブラウザーを使用しています。では、win11 システムで ie ブラウザーを使用できない場合はどうすればよいでしょうか? Windows11はIE11をまだサポートしていますか?解決策を見てみましょう。 win11でie11ブラウザが使えない問題の解決策 1. まず、スタートメニューを右クリックし、「コマンドプロンプト(管理者)」を選択して開きます。 2. 開いたら、「Netshwinsockreset」と直接入力し、Enter キーを押して確定します。 3. 確認後、「netshadvfirewallreset&rdqu」と入力します。

インターネットの普及により、ブラウザを使用してインターネットを閲覧することが生活様式になりました。ブラウザを日常的に使用する中で、オンラインショッピング、ソーシャルネットワーキング、電子メールなど、アカウントのパスワードを入力する必要がある場面に遭遇することがよくあります。この情報は、次回アクセスするときに再度入力する必要がないようにブラウザによって記録される必要がありますが、このような場合に Cookie が役に立ちます。クッキーとは何ですか? Cookie とは、サーバーからユーザーのブラウザに送信され、ローカルに保存される小さなデータ ファイルを指し、一部の Web サイトでのユーザーの行動が含まれています。

Cookie 設定に関する一般的な問題と解決策、具体的なコード例が必要です インターネットの発展に伴い、Cookie は最も一般的な従来技術の 1 つとして、Web サイトやアプリケーションで広く使用されています。簡単に言うと、Cookie はユーザーのコンピュータに保存されるデータ ファイルで、ログイン名、ショッピング カートの内容、Web サイトの設定などを含むユーザーの情報を Web サイトに保存するために使用できます。 Cookie は開発者にとって不可欠なツールですが、同時に Cookie の設定が頻繁に必要になります。
