PHPセッションコントロールのサンプルコードの詳細な紹介
概要
http プロトコルはステートレスであり、リクエストごとにサーバーはユーザーを区別できません。 PHP セッション制御は、ユーザーにキー (暗号化された セッション文字列) を提供します。これは、ユーザーの ID の証明でもあり、このキーで開くことができるボックス (データベース、メモリ データベース、またはファイル) を保存します。ボックスにはユーザーのさまざまな 変数情報が含まれています。
この鍵はどこですか?
1、URL クエリ 文字列
2、ブラウザ クッキー
<?php //page1.php 启动一个会话并注册一个变量session_start(); $_SESSION['user_var'] = "hello,codekissyoung!"; //这里的可以将$_SESSION理解为用户的箱子,实际的实现是php在服务器端生成的小文件 ?>
<?php //page2.php session_start(); echo $_SESSION['user_var']; //通过钥匙访问自己的箱子内的变量 $_SESSION['user_var'] = "bey,codekissyoung!";
<?php//page3.php 销毁钥匙,一般在用户注销时,访问page3.php文件session_start(); session_destroy();?>
を使用した従来のPHPセッション 質問する、キーはどこにありますか?ユーザーにキーを与える操作を見ませんでしたか?
この操作は、PHP によってバックグラウンドで行われます。page1.php にアクセスしてプログラム session_start(); を実行すると、PHP はその時点の条件 (ユーザー IP、ブラウザー番号、時刻、など) 変数 http 応答がクライアントに返された後、PHPSESSID はブラウザーの Cookie にすでに保存されており、このドメイン名に再度アクセスするたびに、PHPSESSID がサーバーに送信されます。この PHPSESSID が、ここで話しているユーザー キーです。
もう一つ質問ですが、この PHPSESSID のセキュリティは、盗まれやすいですか、偽造されやすいですか、改ざんされやすいですか?
HTTPS を使用すると改ざんを防ぐことができます。 PHPSESSID は使用せず、偽造を防ぐためにユーザーの秘密キーを生成します。盗難されやすいかどうかについては、実際には研究されていません。たとえば、コンピュータがインターネットに接続されており、ハッカーがコンピュータに侵入したとします。
生成された秘密鍵をブラウザのCookieに保存
设置cookiesetCookie('key','value',time()+3600); 删除cookiesetCookie('key','',time()-1);
シングルサインオンを実現: セッション共有
シングルサインオン: 複数のサブシステムがユーザー認証システムを共有し、そのうちの1つにログインすると、すべてのサブシステムにアクセスできます。
次のシナリオを想像してください: サーバー A と B の PHP 環境が同じであると仮定します。ユーザーはサーバー A でキーを取得し、そのキーを使用してサーバー B にアクセスしました。ユーザーはサーバー B を知っていますか?
明らかにそうではありません。サーバー A によって生成されたキーはサーバーによって認識されません。
解決策: ユーザーが A または B にアクセスするかどうかに関係なく、生成されたキーを C (同じデータベースまたはキャッシュ システム) に保存します。ユーザーが再度 A または B にアクセスすると、A と B の両方が C: ユーザーのキーを尋ねます。 . 鍵は合っていますか?正しければ、ユーザーはAまたはBに保管されているボックスを使用できるようになります。
以上がPHPセッションコントロールのサンプルコードの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
