- ベストアンサー
CGIから移動したページでのリンク元URLの取得方法とは?
- CGIから移動したページでのリンク元URLを取得する方法について解説します。
- CGIを使用してリダイレクト後のページでリンク元URLを取得する方法について説明します。
- リダイレクト先のページでリンク元のURLを取得する方法について詳しく解説します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
■識別用のクエリを付加する方法 あまり難しく考える必要はないですよ。index.htmlでアクセス元を調べていますよね。その時もし、 ・referrerが空で ・かつ from=Success が付いていれば 「認証OK」のページから飛んできた、 と判定するわけです。 もちろんクエリは from=Success に限らず、?referrer=http://認証OKページURL でも何でもご自分で分かりやすいものでかまいません。 ■専用ページに飛ばす方法 これも上と同じです。専用のindex2.htmlに来たものは、http://認証OKページURL から来たものと判定できますので 適宜処理をしてindex.htmlへ飛ばします。この時はRefreshで飛ばしても、すでに処理ずみですのでreffererが空でも構わないわけです。 適宜処理、というのはCookieを発行するなどで index.htmlでも判別できるようにする、ということです。 ■ついでに 例えばこの認証OKページに <img src='http://example.com/img.php'> などとして、単なるgifやjpgではなく、別のサイトに置いたプログラムで画像を出力してやります。このときクッキーやセッションを発行すれば、example.comの方で判定でるわけです。 あるいは直接 この認証ページから <script language="JavaScript" src="http://example.com/○○○.js"></script> としてJavaScriptで処理してもよいでしょう。 このOKwaveさんでも様々なサイトのクッキーが発行されていますよ。一度クッキーの設定を IEなら[ダイアログを表示する]に設定するとよく分かります。 でも単純な方法が一番ですね。やっぱり。 上記の方法は回りくどくてあまり学習する価値ないかもです。
その他の回答 (2)
- JaneDue
- ベストアンサー率75% (263/350)
JavaScriptで飛ばす手もありますね。 ほかをいじらず済むので楽かも。 以下body内に追加。 <form action='http://example.com/' name='jump'></form> <script language="JavaScript"> <!-- function jump(){ document.jump.submit();} window.onload=setTimeout("jump()", 5000 ); // --> </script> <noscript><a href='http://example.com/'>いますぐ移動する</a></noscript>
お礼
ご回答ありがとうございます。 完璧の一言です!! 今まで悩みに悩んでいたことが一瞬にしてできました!!! 先のご回答の方も学習のため試してみようと思います。 まずは取り急ぎお礼をさせていただきます。 本当にありがとうございました。
- JaneDue
- ベストアンサー率75% (263/350)
Refreshで飛ばすとリファラは空になってしまうので ■識別用のクエリを付加する http;//example.com/index.html?from=Success ■ index2.htmlなど 専用ページに飛ばして判定後index.htmlにまた飛ばす ■あるいは、認証OKページで、example.comに置いた画像を出力してやることで サードパーティのCookieやsessionを発行する手もあります。
補足
すでに解決しておりますので、お時間があればアドバイスお願い致します。 >■識別用のクエリを付加する >http;//example.com/index.html?from=Success 識別用のクエリを付加したのですがダメでした。 そこでご質問なのですが、 ■ index2.htmlなど 専用ページに飛ばして判定後index.htmlにまた飛ばす index2.htmlからindex.htmlに飛ばす方法はどういったものがいいのでしょうか? いまいち理解しておらず、簡単で構いませんので何か学習のヒントになるようなアドバイスを頂けましたら幸いです。
お礼
わかりやすいご回答本当にありがとうございます! かなり学習になりました。 >■識別用のクエリを付加する方法 おっしゃられる通り難しく考えていました。 教えていただくまでRefererを空にするということを考えていませんでした。 しかしアドバイス通りにしましたら希望の動作をしてくれました! >■専用ページに飛ばす方法 >この時はRefreshで飛ばしても、すでに処理ずみですのでreffererが空でも構わないわけです。 とてもわかりやすいご説明でした。 正直最初は理解に苦しみましたが、Refreshについて再度調べ、そしてクッキーについて少しでも理解を深めることでこちらもアドバイス通り上手く動作してくれました! >■ついでに こんな方法があるのですね。 全く知りませんでしたので、これまた勉強になりました! こちらについては少し難しそうで学習する価値がないかもとのことですが、これを機に勉強してみようと思います。 本当にご丁寧かつ敏速にご回答いただきありがとうございました。 心よりお礼申し上げます!