ホームページ >バックエンド開発 >PHPチュートリアル >PHPのクロスドメイン、クロスサブドメイン、クロスサーバーでセッションを読み取る方法の紹介
2.php.iniに設定します。
3. phpページの先頭で関数を呼び出す(1と同じ条件)
これら 3 つの方法は同じ効果があります。 ここでは、最初の方法を使用して 2 つのドメイン名 (www.mydomain.com と sub.mydomain.com) をセットアップしてテストします。 sub1.php
sub2.php
アクセスシーケンス: (1)www.mydomain.com/sub1.php ページ出力: 配列 ([sub1] => sub1) (2)sub.mydomain.com/sub2.php ページ出力: 配列 ( [sub1] => sub1 [sub2] => sub2 ) 成功 2 番目の目標は、データベースを使用して SESSION データを保存することで達成できます。これにより、各サーバーが同じデータ ソースに簡単にアクセスして同じ SESSION データを取得できるようになります。または、NFS などのファイル共有を使用できます。 ) セッションデータを保存するためにデータベースを使用する場合、Web サイトのアクセス数が多い場合、SESSION の読み取りと書き込みが頻繁にデータベース上で行われる可能性があります。これを memcache に置くことができます。データベースに実装されている過去の記事があります。データベースと memcache を組み合わせるというアイデアは以前に議論されました。 memcache を単独で使用してセッションを保存するのが適切でない場合は、データベースと組み合わせることをお勧めします。 2) クロスドメイン ソリューション アイデア: これを解決するには iframe を使用しますが、ff はそれをサポートしていないため、前に p3p プロトコルを追加する必要があります。 P3P (Platform for Privacy Preferences Project) は、自分が善人であることを宣言し、ブラウザ ユーザーの行動の収集を許可するプロトコルです。 しかし実際には、誰もが自分は善人だと言いながら、裏では悪いことをしているかもしれません。 ここに意見の相違があります。 【参考】国内のほとんどのWebサイトはこのP3Pに注目していません。プライバシーの問題は外国ほど真剣に受け止められていない可能性があります (Microsoft のプライバシーに関する声明)。 最初に思いつくのは、JS を通じて Cookie を操作し、2 つの異なるドメインの Cookie が相互にアクセスできるようにすることで、上記の効果を実現することです。 以下は 2 つのステップに分かれた具体的な実装プロセスです。 1. システム A でログインに成功したら、JS を使用して非表示の iframe を動的に作成し、iframe の src 属性を使用して、ドメイン A の Cookie 値を取得パラメータとしてシステム B の b.jsp ページにリダイレクトします。
|