[PHP-users 397] Re: cookueの複数ドメインセットは可能?

Hiroshi Ishiura php-users@php.gr.jp
Fri, 29 Jun 2001 13:06:12 +0900


石浦です。
ちょっと保留で他の作業をしていたので返信おくれましたが、
SUMiさんの提案でひらめき、次の方法により実現できました。
1."http://www.a-site.com/move.phpに飛ばす。
これはa-site.com内ではまだクッキーが有効なのでアドレスにIDとPASSを
くっつけなくても運べるため。

2.move.php内でIDとPASSを運搬
<?
header("Location: http://www.b-site.com/login.php?id=$id&pass=$pass");
?>
という風にアドレスにくっつけたままb-siteのlogin認証ファイルへ

3、login.php内クッキーを発行後ジャンプ
move.phpから渡されたIDとPASSを認証し
OKであれば、クッキーをb-site用に発行後ジャンプ
NOならばそのままb-siteへ

4.b-site内の認証必要コンテンツにアクセスすると見事成功

という結果でいけました。

どうもありがとうございました。

> SUMiです。
> 
> > a-siteからAさんがアクセスし、ログインしたあとb-siteに移動したとしたら
> > 現状クッキーがわたらないので、ログインを再度入力しないといけない。
> > これをa-siteで認証したらb-site,groupでももう認証済としたいのです。
> 
> 複数サイトでのcookieはセキュリティ上不可のはずですよね…
> んで、認証が下りているかどうかの判断をクッキーでやっている
> ならば、各ページはPHPなりのスクリプトで生成されているはず
> では?という前提で考えると、
> 自サイトから他のグループサイトへのリンクを作成するときに、
> <A href="http://b-site/a/?id=hoge&sess=1234">
> みたく、「認証済み!」というの情報をGETで渡すように作って
> はいかがでしょう?
> これを元に、別サイトでも認証状態を確認して、GETで渡ってき
> た情報が無効ならば認証しなおす、と。
> ちょいと面倒かもしれませんが、いかがでしょ?
>