ホームページ バックエンド開発 PHPチュートリアル PHPのセッション破棄メカニズム(翻訳済み)

PHPのセッション破棄メカニズム(翻訳済み)

Jun 13, 2016 pm 12:33 PM
cookie php session string windows

php のセッション処理メカニズム (翻訳済み)

1.
????? PHP サーバーのデフォルトのセッション保存方法は、Windows では、C:WINDOWSTemp に保存されます。特定のストレージ ディレクトリを指定します。

2.
???? COOKIE テクノロジーは SESSION の実装で使用され、SESSION は session_id (SESSION 番号) を含む COOKIE をクライアント側に保存します。サーバー側。ユーザーがサーバーにリクエストを送信すると、session_id もサーバーに送信され、session_id を通じてサーバー側に保存されている変数を抽出することで、ユーザーが誰であるかを識別できます。同時に、SESSION が時々失敗する理由を理解するのは難しくありません。
???? クライアントが COOKIE を無効にしている場合 (IE の「ツール」-「インターネット オプション」をクリックし、ポップアップ ダイアログ ボックスの「セキュリティ」-「レベルのカスタマイズ」をクリックし、「各セッション COOKIE を許可する」を変更します)が無効に設定されている場合)、session_id は渡されず、現時点では SESSION は無効になります。 ただし、php5 は Linux/Unix プラットフォームで Cookie のステータスを自動的にチェックできます。クライアントが無効に設定されている場合、システムは自動的に session_id を URL に追加して渡します。 Windowsホストにはこの機能がありません。

3.
Session_start(): セッションを開始するか、既存のセッションを返します。
ブラウザは、Session_start() を使用する前に出力を生成してはなりません。そうしないと、次のエラーが発生します。
php.ini で session.auto_start=1 を有効にすると、セッションを使用する前に毎回 session_start() を呼び出す必要がなくなります。

4.
session.auto_start=1 の場合、session_save_path ('./t/'); が無効になります。後者のステートメントを最初に配置する必要があるためです。

5.
サーバーに保存されたセッション ファイルは、session_destroy(); が発生しない限り削除されません。
クライアントのブラウザが閉じている場合でも。
ただし、サーバーによって生成されるすべてのセッション ファイルでは、セッション ファイル名のランダム性と一意性が保証されます。

6. http://www.toplee.com/blog/300.html

PHP のセッション ストレージと処理能力を向上させます

おそらく、多くの PHPer は、セッション関数の処理を容易にする PHP が提供するセッション関数を使用します。Windows では、PHP のデフォルトのセッション サーバー ファイルは *NIX の C:WINDOWSTemp に保存されます。デフォルトでは、/tmp に保存されます。同時アクセスが多い場合、または作成されるセッションが多すぎる場合、これら 2 つのディレクトリに sess_xxxxxx のようなセッション ファイルが多数存在し、パフォーマンスが低下します。劣化し、攻撃によるファイル システム エラーが発生する可能性があります。この状況に対しては、PHP 自体がより良い解決策を提供します。
多くの友人は、php.ini のセッション設定セクションに次のような項目があることに気づいていないかもしれません:
;??? session.save_path = "N;MODE;/path"


この設定により、セッション保存ディレクトリでマルチレベルのハッシュを実行できます。「N」は設定するディレクトリ レベルを表し、「MODE」はディレクトリの権限属性を表します。デフォルトは 600 です。 . WINDOWSの場合 *NIXでは基本的に設定する必要はありません。 以下の「/path」はセッションファイルが格納されているルートディレクトリのパスを示します。次の形式に変換します
session.save_path = "2;/tmp/phpsession"

上記の設定は、PHP セッション ファイルを保存するルート ディレクトリとして /tmp/phpsession ディレクトリを使用し、このディレクトリで 2 レベルのディレクトリ ハッシュを実行することを意味します。ディレクトリの各レベルは 0 ~ 9 および a ~ z、a です。合計 36 文字の英数字がディレクトリ名になります。システム アーキテクチャがセッション データを共有するように設計されている場合、セッションを保存するディレクトリの数は 36 個で十分だと思います。複数のサーバーがある場合は、ディレクトリ レベルをレベル 3 以上に増やすことができます。
PHP 自体はサブディレクトリを自動的に作成しないことに注意してください。ディレクトリを自動的に作成するコードはオンラインで参照できます。以下のコードはレベル 3 のサブディレクトリを自動的に作成します。これは必要に応じて変更できます。
set_time_limit(0);
$string = '0123456789abcdefghijklmnopqrstuvwxyz';
$length = strlen($string);
function makeDir($param)
{
??? if(!file_exists($param)) {
??????? makeDir(dirname($param));
??????? ;
??? }
}
for($i = 0; $i <$length; $i ) {
??? for($j = 0; $j <; $length; $j ) {
????????? for($k = 0; $k < $length; $k ) {
????????? string[$i].'/'.$string[$j].'/'.$string[$k]);
?????? }
}
}
?>

前のテキストで、複数のサーバー間での PHP の共有について言及していることに気づいたかもしれません。これは、インターネット上に多数の関連リソースがあります。ここでは一般的な考え方についてのみ言及します。
一般的に、最もよく使用される方法は次の 2 つです。
1. NFS または Samba 共有方法。各サーバー上のセッション ファイルを保存するディスクを共有できます。この方法はシンプルで実行可能です。
2. データベースに集中的に保存する。これは、PHP が提供する session_set_save_handler() 関数を使用して再定義する、比較的一般的な実装方法です。

転載元: http://www.phpweblog.net/fuyongjie/archive/2009/06/09/6687.html

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonの選択:ガイド PHPとPythonの選択:ガイド Apr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPの影響:Web開発など PHPの影響:Web開発など Apr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHP対Python:ユースケースとアプリケーション PHP対Python:ユースケースとアプリケーション Apr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

PHPの継続的な使用:その持久力の理由 PHPの継続的な使用:その持久力の理由 Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

Laravelの複雑な属性の関係の問題を解決する方法は? Composerを使用してください! Laravelの複雑な属性の関係の問題を解決する方法は? Composerを使用してください! Apr 17, 2025 pm 09:54 PM

Laravel Developmentでは、特にマルチレベルの属する関係に関しては、複雑なモデル関係に対処することは常に課題でした。最近、私はこの問題に、従来のHasManyThrough関係がニーズを満たすことができず、データクエリが複雑で非効率的になることになっているマルチレベルモデル関​​係を扱うプロジェクトでこの問題に遭遇しました。いくつかの探索の後、私は図書館がStaudenmeir/属していることを発見しました。

コードを書いた後に崇高に実行する方法 コードを書いた後に崇高に実行する方法 Apr 16, 2025 am 08:51 AM

Sublimeでコードを実行するには6つの方法があります。ホットキー、メニュー、ビルドシステム、コマンドライン、デフォルトビルドシステムの設定、カスタムビルドコマンド、プロジェクト/ファイルを右クリックして個々のファイル/プロジェクトを実行します。ビルドシステムの可用性は、崇高なテキストのインストールに依存します。

See all articles