- PR -

複数ドメイン間のセッション情報の共有について

1
投稿者投稿内容
eiji
常連さん
会議室デビュー日: 2003/07/23
投稿数: 32
投稿日時: 2005-04-14 12:31
お世話になります。

ドメイン、バーチャルドメインの間で、セッション情報を共有できないかを
調査しています。
クッキーを使用せず、URLでセッションを持ちまわればできると思っていますが、
やりやくないので他の方法を探しています。
なにか情報があれば、お願いします。

環境
SunONE 7 WebServer
SunONE 7 ApServer
linux



unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2005-04-14 12:52
unibon です。こんにちわ。

引用:

eijiさんの書き込み (2005-04-14 12:31) より:
クッキーを使用せず、URLでセッションを持ちまわればできると思っていますが、
やりやくないので他の方法を探しています。


ちなみに、親(というのか用語は良くは知りませんが)が同じなら、その下のサブドメインが違っていても cookie は共有できます。しかし要求はぜんぜん別のドメイン間でということでしょうか?
巷でよく見かける銀行のオンライン入金(あるサイトで取引をしてその入金のために提携金融機関のサイトに遷移するサービス)などだと、やっぱり URL にセッション情報を持たせているようであり、これがメジャーで実績がある方法であることに間違いありません。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-04-14 14:36
そもそも単一ホストに対しても URL 書き換えを使わず、クッキーを使わずにセッションを保持することはできませんよね?
ホストが変わればなおさらです・・。ちょっと難しいかと思います。

URL 書き換えを使いたくない理由、を説明してみてはいかがでしょうか?そこからなにかアドバイスが生まれるかもしれませんよ。
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2005-04-14 15:05
どもです。がると申します。
引用:

クッキーを使用せず、URLでセッションを持ちまわればできると思っていますが、
やりやくないので他の方法を探しています。


んっと。OS環境の如何によらず、HTTP通信では基本的に
Cookie
GET method
POST method
の3つの方式でのデータやり取りが基本になります。
# PATH_INFO はURLを使うのでNGってことで:今回の場合

で、おっしゃる話からするとCookieとGETがNGなので。
そうすると、消去法で考えて、残るのはPOSTによるデータ
(セッションID)の持ち回りになります。

以上、なにか参考になりましたでしょうか?

[裏技]
フレームで中身を囲う。
「見た目は」URLが変わらない :-P
[/裏技]


かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-04-14 20:09
ドメインとバーチャルドメイン間でホストが違うとして、
それぞれのホストで動いているAPサーバが
クラスタリングを行っていなければ、
URLにセッションIDを含めてもクッキーを使用しても
セッションを共有できないのではないでしょうか?

#同一VMとか、クラスタ化しているという話しあればゴメンナサイ・・・

参考にならないかもしれませんが、以前関わったプロジェクトで、

・すべての画面にhiddenタグを150種類近く用意(構成は全画面同じ)
・画面遷移はすべてPOST
・一応共通部品が自動でhiddenタグに値を自動設定

と言うのがありました。。。メンテナンスで死にました。
値を新に追加する為に全画面(100画面以上)にタグを追加して、
共通部品にも値のやりとりを追加するというアホさ加減でしたが。
そこのリーダーさんは
  「これなら値の引継ぎが簡単にできる」
と、豪語されていました。セッションを知らないのでしょうかね。

余談でした・・・
eiji
常連さん
会議室デビュー日: 2003/07/23
投稿数: 32
投稿日時: 2005-04-14 21:24
返信ありがとうございます。

説明が足りなかったと思いますので、状況を補足しますと
まず、前提は、1つのWebアプリケーションが、
複数ドメインからのアクセスを受け付けている場合です。
※バーチャルドメイン機能を使用しています。

同一サーバー、同一VM、同一Webアプリケーションなので、
なんとか異なったドメインですが、セッションを共有
できないものかと考えています。
クッキーを使用したくないわけではありません。

現状で思いつく方法論は、
1.クッキーを使用せず、全てURL 書き換えにする。
  →セキュリティー的にURLに見えてしまうので、
   厳しいと思っています。
2.初回アクセス時、全てのドメインのクッキーを独自で作成し、そこに
  セッションIDを記載して返す。
  →コンテナに任せている事を実装するのはどうかと思っています。
3.フレームを作成し、見かけ上違うドメイン名に見せて対応する。
3.複数ドメインに返せるようにクッキーを定義する。
  (仕様的にできないと思っています。)

複数ドメインに返せるようにクッキーを定義できる方法や、
もっとよい方法等ありましたらご教授ください。
お願いします。


[ メッセージ編集済み 編集者: eiji 編集日時 2005-04-14 22:14 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-04-14 22:45
セッションIDをクッキーで保持しても URL で保持してもパケットをキャプチャすれば見られることに変わりはありません。
クッキーに比べてセキュリティ強度に変わりはないでしょう。
どのような方式で情報の受け渡しを行なうにせよ SSL を使わない限りブラウザから送られる情報は一定の条件がそろえば見えてしまいます。それらを気にするのであれば SSL にするべきです。
肩越しにディスプレイを覗かれて ID をメモされてしまうのが特にまずい、また何らかの理由で SSL が使えない、という特殊な条件なら POST で受け渡すことになるでしょうか。
1

スキルアップ/キャリアアップ(JOB@IT)