カレッヂ |
質問者 しん
投稿日 1/19(金) 21:16:30
皆様、はじめまして。 CGIは、最近勉強しはじめたのでまだまだ初心者ですが 宜しくお願い致します。 私は、HPを立ち上げていますが、そのサーバでCGIを使うことができません。 アクセス解析を行いたいため、現在は無料のアクセス解析サービスを利用し アクセスログを取得しています。 このアクセスログは、その無料サービスへのリンクバナーを<IMG>タグで 表示し、それと同時にアクセス解析を行うというものです。 この場合、リンク元も解るようになっています。 で、最近CGIが使えるプロバイダと契約して アクセス解析を自分で行うようにしたいと考えました。 しかし、ホームページのURLは変更したくないため ここで提供されていた「別サーバに置いてもいい(画像式)アクセス解析」の 使用を試みました。 しかし・・・ 「これは、SSIが使えないサーバの為に・・・(省略)。なお、どこからリンクされているかを解析することができません。」 とありました。 この場合、なぜリンク元が取得できないのでしょうか? なにか、CGIサーバ側で特殊な処理が必要になるからなのでしょうか? なにとぞ、ご教授願います。 |
回答者 しあわせのツボ
[削除]
投稿日 1/19(金) 23:33:49
リンク元は直前のリンクしか取得できません。 imgタグを使うと、全てのアクセスはimgタグを記述したページ、即ち自分のページからのリンクになります。従って、もう1つ前のリンク元(意図するリンク元)を取得することはできません。 CGIの制限というよりはHTTPの仕様です。あまり何世代も調べられると、それはそれでプライバシーの問題が発生しますしね。 |
回答者 羊
[削除]
投稿日 1/20(土) 11:30:44
「リンク元」と言うよりは「呼び出し元」と考えたほうがいいかもしれません。 例えばindex.htmlに <IMG src="xxx.cgi"> と記述した場合、xxx.cgiを呼び出したのはindex.htmlになります。 ではどうするかというとCGIと似たようなもので「SSI」という方法があります。 SSIを使えばリンク元をうまく取得できます。 しかし、CGIでも以下のような方法でリンク元を取得することができます。 ・JavaScriptでリンク元を取得してCGIに渡す。 ・トップページをCGIにする。 |
質問者 しん
[削除]
投稿日 1/22(月) 10:26:20
しあわせのツボ様、羊様、ご回答有り難うございました。 やはり、そういう理由だったのですね。 ということは、今利用している無料アクセス解析は 特殊な方法でそれ以前のリンクを取得しているということなのですねぇ。 いや、CGIは奥が深いと実感いたしました。 もっともっと、勉強しなければ行けないと痛感しております。 本当にありがとうございました。 |
返信(回答)する
Web裏技 |