ホームページ >毎日のプログラミング >PHPの知識 >セッションの仕組み
推奨チュートリアル: PHP チュートリアル
セッションの動作原理
1. セッションを作成する
ユーザーがサーバーにアクセスするとき、サーバーがセッションを有効にしている場合、サーバーはユーザーのセッションを作成します。このセッションを作成するとき、サーバーはまず、ユーザーによって送信されたリクエストにセッション ID が含まれているかどうかを確認します。セッションが含まれている場合は、 ID は、ユーザーが以前にログインし、このユーザーのセッションを作成したことを示します。その後、サーバーはセッション ID に従ってサーバーのメモリ内のセッションを検索します。クライアントのリクエストにセッション ID が含まれていない場合は、このリクエストが検索されます。クライアントは SESSION を作成し、この SESSION に関連する SESSION ID を生成します。このセッション ID は、一意で、繰り返しがなく、見つけるのが難しい通常の文字列です。このセッション ID は、この応答で保存するためにクライアントに返されます。このセッション ID を保存するのは COOKIE です。そのため、対話中にブラウザは、ルールに従ってこの識別子をサーバーに自動的に送信できます。
2. セッションを使用する
IE では、インターネット オプションで Cookie を設定できることがわかっています。ツールを無効にすると、クライアントの Cookie が無効になり、SESSIONID が使用できなくなりますか? COOKIE が無効になっている場合でも、セッション ID をサーバーに戻すことができる他のメカニズムが存在する可能性があることを示す情報をいくつか見つけました。
頻繁に使用されるテクノロジは、URL 書き換えと呼ばれます。これは、セッション ID を URL パスの追加情報として、次の形式で URL パスの末尾に直接追加します。
http://…。 /xxx;jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng! -145788764;
もう 1 つは、
## http://… の形式でクエリ文字列として URL に追加されます。 。 /xxx? jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng! -145788764## もう 1 つのタイプは、フォームの非表示フィールドです。つまり、サーバーはフォームを自動的に変更し、非表示フィールドを追加して、フォームの送信時にセッション ID をサーバーに返すことができるようにします。
セッション関数
# Session の基本的な機能は、ユーザーとサーバーのセッションに関する情報をサーバー側に保存することです。一般的なアプリケーションは次のとおりです:
1. ユーザーがログインしているかどうかを確認します。
2. ショッピングカート機能。
#セッション インスタンスの問題
既存システム A、B、仮定システムA は独立して実行できる Web システムです。つまり、ブラウザでセッションを直接処理できます。システム B はモバイルに基づいており、システム A の機能インターフェイスを呼び出す必要があります。 # 変更の場合、つまりログイン検証とセッション ストレージが変更されていない場合、システム B はフロントエンド ユーザーのリクエストを処理できます。
ここで提供される解決策は、PHP を使用して実装することです。ユーザーが正常にログインすると、保存されたセッションのセッション ID は次のようになります。がシステム B に返されると、システム B は他のインターフェイスを要求するたびに session_id を取得します。
システム A は session_start の前に session_id (session_id) を追加します;
このようにして、システム B は安全に A
# を呼び出すことができます
##関連トピックの推奨事項: php セッション (画像、テキスト、ビデオ、ケースを含む)
以上がセッションの仕組みの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。