cgiを置けないページで正しくreferer(リンク元)解析をするには?

[上に] [前に] [次に]
ゆきち [E-Mail] 2000/02/17(木) 23:12:38
cgiの置けないサーバー(A)にトップページが置いてあるので、そのindex.htmlファイルの中でimgタグを用いてcgiの使える別のサーバー(B)に置いてあるログ解析スクリプトを呼び出してログ取りを行っています。

うまく動いているんですが、一つだけ大きな問題があります。リンク元の解析には定石通り環境変数HTTP_REFERERを用いているんですが、IEでアクセスしてきた人の場合は全てHTTP_REFERERが自分のサーバー(A〕のURLとなってしまいます。でもなぜかNNの場合は(A)に来る前のURL(すなわち僕の求めている情報)が表示されます。

「referer」がそのスクリプトが呼ばれる一つ前のURLという意味ではIEのほうが正しいのかもしれませんが、僕の知りたい情報はIEでは得られません。いまや殆どの人がIEを使ってますんで、このままではあまり役に立ちません。

どのような解決法があるでしょうか(cgiではなくjavascriptかなんかを使えばできるとか。あるいは一つ前じゃなくて二つ前のURL情報を取ってくることが出来るとか)。


どなたか教えていただけると嬉しいです。どうぞよろしくお願いいたします。

ゆきち

toshi [E-Mail] [HomePage] 2000/02/17(木) 23:39:07
このサイトで公開されているカウンタを参考にしてください。
JavaScriptでrefererをCGIに送っているようです。

ゆきち 2000/02/18(金) 20:01:46
toshiさん
レスありがとうございました。とほほカウンターのことでしょうか。
Javascriptのことは全くわからないので見当違いなのかもしれませんが、このスクリプトをサーバー(A)の僕のindexページに張ったとして、どこをどう変えればそれをサーバー(B)のcgiファイルへ送るようになるんでしょうか?
このJavascriptはcgiが使えるサーバーの中でreferer情報をデータファイルに書き込んでそれをメールで送るというcgiスクリプトのように書いてありましたが。

よろしくお願いします。


-----とほほカウンターでリンク元発見----
<SCRIPT LANGUAGE="JavaScript">
           <!--
           xx = escape(document.referrer);
           yy = "";
           for (i = 0; i < xx.length; i++) {
               zz = xx.charAt(i);
               yy += (zz == "+") ? "%2B" : zz;
           }
           document.write('<IMG WIDTH=80 HEIGHT=19 ');
           document.write('SRC="cgi-bin/wwwcount.cgi');
           document.write('?gif+ref+', yy, '">');
           // --> <IMG WIDTH=80 HEIGHT=19 SRC="cgi-bin/wwwcount.cgi?gif">
           </SCRIPT>

[上に] [前に] [次に]