PHPでリダイレクトを掛けた時のことで、質問です。


例えば、

Aというサイトに、
<?php
header("Location: http://B.com/");
?>
とします。

そして、
Bというサイトには、
<?php
header("Location: http://C.com/");
?>
とします。

この時、Cというサイトのアクセス解析などには、Bというサイトから来たことは分かると思うのですが、Aサイトを経由していることも分かるものなのでしょうか?
また分かる場合もありますか?

詳しい方、教えてください。

よろしくお願い致します。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2009/12/31 12:15:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:y-kawaz No.1

回答回数1422ベストアンサー獲得回数226

ポイント23pt

Proxyならまだしもリダイレクトの場合は、A,Bどちらのサイトからもリダイレクトされてきたということは分かりません。CにとってはいきなりCに来た時と全く同じです。


唯一それらしい情報で分かるとすれば、Aのリダイレクトページへのリンク元URLが Referer で取得できます。

ですが、それも直接Cへのリンクを経由してきたものなのか、AやBからリダイレクトされてきたかどうかの区別はできません。

id:com111

つまり、Aサイトからリンクされてきた、ということが分からない、ということでしょうか?

2009/12/24 13:51:05
id:mystandardjp No.2

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

ポイント23pt

リダイレクトされたサイトは、Cのアクセス解析を見ても分からないはずですが

Cのアクセス解析に表示されて分かるのは、Aのサイトだと思います。

ただしAのサイトもリダイレクトされていた場合は分かりません。

基本的なイメージとしては

クリックされたサイトがCのアクセス解析にのると思います。


ナニワのシステム開発屋さん

http://www.my-standard.co.jp/

id:kn1967 No.3

回答回数2915ベストアンサー獲得回数301

ポイント22pt

「分かる場合もあり」です。


header("Location: によるリダイレクトの動作は、

要求)ブラウザ ⇒ A.com ⇒ B.com ⇒ C.com
返信)C.com ⇒ B.com ⇒ A.com ⇒ ブラウザ

ではなく、

要求)ブラウザ ⇒ A.com
返信)A.com ⇒ B.comへ飛んでと返答される ⇒ ブラウザ

要求)ブラウザ ⇒ ページを要求 ⇒ B.com
返信)B.com ⇒ C.comへ飛んでと返答される ⇒ ブラウザ

要求)ブラウザ ⇒ ページを要求 ⇒ C.com
返信)C.com ⇒ ページが返信される ⇒ ブラウザ

という順番に処理が流れています。

(かなり大雑把です。実際は各段階でさらに細かな通信を行ってます。)


ここまでの話で単純に返答すると、

ブラウザがリファラ(どこから飛んできたかという情報)を、

返す状況であっても、リファラの内容は1つ前だけなので、

2つ前の状況は判らないという事になります。


ただし、アドレスに何らかの引数を渡すなどしてあれば、

それだけで追いかける事が可能になったりする場合がありますし、

プロクシのように要求と返信を監視するようなものや、

アクセス解析のようなものが介在していても、

どこを経由しているかが判ってしまうなど、知るための技は複数あります。

(それらの技術を端的に説明するのは難しいため、詳細は割愛させてください。)


個人的に実施できるかどうかは別問題ですが、警察がプロバイダなどと

連携すれば、誰が、いつ、どこから、どのように、接続しているかを、

辿る事は難しい事ではなく、インターネットの仕組み上、

隠し通すほうが難しいと覚えておいたほうがよろしいかと思います。

id:submarine22 No.4

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

ポイント22pt

どうしてもそういう情報が必要ならばリダイレクトを掛ける際に情報を付加すれば分かると思います。

サイト作成者側の対処法、ということになりますが。

<?php
header("Location:http://B.com/?refferer=".$_SERVER['PHP_SELF']);
?>
  • id:y-kawaz
    >つまり、Aサイトからリンクされてきた、ということが分からない、ということでしょうか?
    「Aサイトからリンクされてきた」ということに関してはRefererから分かるかもしれません。
    ですが、それがリダイレクトされてきたのか直接Cにリンクされてきたのかは分かりません。
  • id:fuk00346jp
    >リダイレクトを掛けた時のこと
    と限定してるから
    >ですが、それがリダイレクトされてきたのか直接Cにリンクされてきたのかは分かりません。
    の行は要らんと思ふ。

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

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

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

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