[複数サイト間でのセッション管理]


ポータルサイトなんかは、いろんなサイトを次々と買収し融合しますね。

複数のWebサーバーで、セッション(ログイン情報)を持ちまわってますね。(ライブドアやyahoo全体がひとつのwebサーバーで動くなんてないですよね?)

Webサーバーが違えばセッション情報は持ちまわせないので、何か特別な方法を使っていると思います。

どういうやり方があるか、どうか助言お願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:kuippa No.1

回答回数1030ベストアンサー獲得回数13

ポイント30pt

http://www.hatena.ne.jp/1097307546

初歩的な質問だと思うのですが、PHPのセッション機能についての質問です。 「セッションの有効期限」というのは、具体的に何の有効期限なのでしょうか。 サーバに保存され.. - 人力検索はてな

普通のポータルサイト(はてなやライブドア)は普通に時間制なしのログインクッキーを食わせているような気がします。

ブラウザを閉じられると消されるので、セッションのような使い方(セッションもクッキーの一種ですが。)ができます。

(サーバが移動したときにクッキーの読み込みを行っている?)

それ以外で、サーバ側のセッション変数を異なるサーバ間でやりとりさせる良い方法は思いつきませんが…、

・・・、

IIS鯖でなら、Response.Redirectで、クライアント側を経由しない

 Server.Execute(strPath)

 Server.Transfer(strPath)

なんてのが実装されたなんてニュースをかなーーり昔に見た記憶があります。

実際、つかったことはないので、なんともですが、

クライアント側を経由してRedirectでパラメータを渡すよりは、安全なのかなぁと…思ったんですが…。

…。

絶対パスの指定は無理とか書いてある文章を見つけてしまいました。

ん〜〜…。ごめんなさい。これは無理そうですね。

もし、ログインセッションをリアルタイムでバチッと管理したいのであれば…

ログインサーバのようなものをたてて集合管理されるのが一番かと思います。

id:MASHMASH

ありがとうございます。

確かにIISならserver.transferを使えばできますね。

2004/12/21 01:36:15
id:ke_ishi No.2

回答回数269ベストアンサー獲得回数0

ポイント30pt

バックエンドのデータベースにセッション情報をすべて格納しておきます。

クライアント側では、とにかくセッションIDだけを持ち回れば良いのでは?

id:MASHMASH

あ、そういえばPHPでそういう専用の命令までありましたっけ・・・

やっぱDBなんですね。

なんとなくそうかなーとは思ってたんですが。

2004/12/21 11:16:52
id:sweeper No.3

回答回数1ベストアンサー獲得回数0

ポイント30pt

http://sourceforge.net/projects/phpform-ext/

SourceForge.net: PHP Form Extension Project

PHPだと自前でDBで格納するセッション管理のクラス

なんかを作るのも良いかと思いますが、

私的にお勧めなのが、session_pgsqlですね。

PHPで普通に使われているsession処理関数

(session_start()とか)を使うと指定したPostgreSQLに

セッション内容を保存してくれます。

PostgreSQLの設定以外まったく既存のPHPコードを

変更することなくsessionデータを複数のサーバーで

共有できます。

その他にも、

・DBの自動負荷分散

・DB障害時の自動切替え

・ガーベッジコレクション

・テーブルの自動作成

等の機能がついており非常に便利で重宝します。

以前構築したシステムでも5台セッションサーバーを

用意して負荷分散しましたがまったく問題なく動作

してました。

クラス版の方を使うのでは無く、PHPのモジュールの

方を使ったほうが高速です。

phpize => configure => make して、extensionと

してPHPに組み込むと良いと思います。

id:MASHMASH

フーム、カンペキですね。

まさしくPHP+PostgreSQLなので、ぜひ使わせていただきたいと思います。

2004/12/25 22:35:03

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません