ドメインがことなる二つのサイトでcookieの内容を
共有したいと考えています。、がcookieのルールで
発行元しかcookieを取り出せません。
cookieの発行元で必要な内容を取り出し、別のドメインの
サイトにとんで、別のサイトが内容を受け取りそのサイト
用のcookieを発行できればと思っているのですが、良い
方法はありますでしょうか?
取り出した内容は引数としてユーザーに見える形で出てこないように、CGIからCGIへの受け渡しで行いたいと思っています。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

JavaScriptの方でも質問されてましたね。

そちらが受け付け終了となっていたのでこちらに投稿してみました。

URLのSearchに付加することで実現できそうです。

window.open('foo.html?' + escape(document.cookie), 'width=100,height=100');

受け取る方では

cookie = location.search;
document.cookie = unescape(cookie.substring(1, cookie.length));
window.close();

ブラウザに保存するには期限も指定しないといけませんね。

この方法では小さなウィンドウがいちいち開いてしまうのでご希望にはそえませんでしょうか。
    • good
    • 0

とほほのWWW入門で、Cookieの簡単な使用方法を紹介しています。


参考URLを確認して下さい。

Cookieを書き出すオプションの中で、「Cookieを発行するWWWサーバーの名前」の
指定が出来ますので、このオプションを使って別サーバ用のCookie出力してはどうでしょう?


-- 出典 --
一部の文章を、参考URLのページより出典しました。

参考URL:http://wakusei.cplaza.ne.jp/twn/wwwcook.htm
    • good
    • 0

実際にどういう画面遷移を作られているのかわからないのですが、2つのサイトA、Bの遷移がある程度決まっているなら、A→B、B→Aの移動の時に、Cookieのデータをhiddenタグで持ちまわるというのが普通のやり方ではないでしょうか。


他にやり方があったら私も教えて欲しいです。

問題は、ユーザーの操作によって、A→B、B→Aのジャンプがいつ起こるかわからない場合ですね。そうなると常にhiddenでデータを引き回すことになり、Cookieのメリットがほとんど無くなってしまうという…。

あとはCookieに持たせるデータ次第ですが、最初にトップページ(仮にA側にあるとして)にアクセスしたときに、強制的にA→B→Aとジャンプさせるようにして、B側のCookieの読み書きをするとか。しないかなぁ、普通。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。引き続きイロイロ
やってみます。
まずはお礼まで。

お礼日時:2001/02/02 16:49

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QCGIから別のCGIに飛ぶとき別のウインドウを開きたいのですが

 CGIで条件を入力すると、別のCGIに飛んでその条件に合致したデータをファイルから探してきて表示させるというプログラムを作っていますが、このときに元の条件入力画面を残したまま別ウインドウで検索結果を表示させたいのですがどうすれば良いのでしょうか?よろしくお願いします。

  

Aベストアンサー

普通に「target="_blank"」で開けばいいのではないでしょうか?
または、JAVAで小窓を開くとか…

QCGIから別サーバーのCGIの呼び出し

以下の二つのサーバーでCGIを動作させようと考えています。

 サーバーA:ユーザーからアクセスできる。
 サーバーB:サーバーAからアクセスでき、ユーザーからはアクセスできない。

この環境で

(1)サーバーAでリクエストを受け、簡単な処理をする。
(2)サーバーA上のCGIからサーバーB上のCGIを呼び出す。
(3)サーバーB上で処理(etc. メールの送信)を行い、処理結果をサーバーAのCGIに返す。
(4)サーバーA上で簡単な処理を行い、結果をユーザーに表示する

というような処理を考えています。
perlでは、このような処理を実装することは可能でしょうか?

サーバーAからサーバーBにあるスクリプトファイルを読み込んで、サーバーAで実行するということはできそうなのですが、サーバーB上のCGIはサーバーBで実行するというようなことができるのかがわかりません。

初心者的な質問で申し訳ありませんが、よろしくお願いします。

Aベストアンサー

 無理やり実装することは可能ですけど、面倒ですよ?
 自分でソケットを開いてHTTPで通信するんです。

QCGIから別のCGIへPostするには?

こんにちは。
a.cgiにアクセスがあったらb.cgiに<data=hoge>というデータを
postしたいのですが、どうすればいいのですか?

よろしくお願いします。

Aベストアンサー

CGIの言語がPerlだとして、
LWP
HTTP::Request::Common
を使う例。


use LWP::UserAgent;
use HTTP::Request::Common qw(POST);

$url = "http://hogehoge/cgi-bin/b.cgi";

%formdata = ('data' => 'hoge');

$request = POST($url,[%formdata]);
$ua = LWP::UserAgent->new;
$res = $ua->request($request);

Qcgi内から別のcgiを呼び出す。

お世話になります。
分からないならではの質問かと思いますが、
標題の通りです。

cgiXの中からcgiYを呼び出したい(コントロールを渡したい)
のです。
どう考えればよいのでしょうか。

これまでは、formのactionにcgi名を書き、
submitによってコントロールを渡してきました。

submitせず単純にコントロールを渡したいのです。
宜しくお願いします。

Aベストアンサー

また具体例忘れてました。
出力HTMLの先頭にMETAタグで
<meta http-equiv="Refresh" content="15;URL=http://www.test.com/パス/cgiY.cgi">
などとすれば表示15秒後に指定のCGIにとびます。
追伸:
前の回答でREFRESHのつづり間違えてました。スイマセン。

Qcgiから別のcgiへの変数の渡し方

cgiからべつのcgiを起動するとき、
アドレス/a.cgi?xxx=aaa
で変数xxxにaaaを入れてa.cgiに渡せると聞きましたが
a.cgiでは、どのように受け取ればいいのでしょうか?
コーディング例とかをお願いします。

Aベストアンサー

この方法はGET方式と言われるデータの受け渡し方法で、<FORM method=POST ACTION=a.cgi>で渡すPOST方式があります。

どちらも、受け取る場合は環境変数を解析してCGIの変数にする必要があります。

自分で一からコーディングするのはかなりしんどいと思いますので、簡単にできる方法をお教えします。

cgi-lib.plというライブラリを使う事によって、簡単に受け取る事が可能です。
例えば、a.cgi?name=kimvとすると、渡されたCGI内部では $in{'name'}にkimvが代入されています。

コーディングでは
require 'cgi-lib.pl';
&ReadParse(*in);
とするだけです。

cgi-lib.plの入手場所は様々なサイトからダウンロードできますし、参考書の付録CDにもあります。
以下にダウンロードできるサイトを掲載します。

また最新版は、ケンブリッジ大にある、作者Steven Brenner 氏のHPからダウンロード可能です。

http://cgi-lib.berkeley.edu/

参考URL:http://www.net-easy.com/perl/perl.html

この方法はGET方式と言われるデータの受け渡し方法で、<FORM method=POST ACTION=a.cgi>で渡すPOST方式があります。

どちらも、受け取る場合は環境変数を解析してCGIの変数にする必要があります。

自分で一からコーディングするのはかなりしんどいと思いますので、簡単にできる方法をお教えします。

cgi-lib.plというライブラリを使う事によって、簡単に受け取る事が可能です。
例えば、a.cgi?name=kimvとすると、渡されたCGI内部では $in{'name'}にkimvが代入されています。

コ...続きを読む


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報