• 締切済み

訪問者にキックさせずにcgiを動かす。

上手く説明できないのですが、読んでください。 これまで訪問カウンターなどを設置し、 そのカウンターを表示するcgiは動かせています。 この度、 どこから来たかを記録するcgiを作ろうと思っています。 ただ、「どこから来ましたか」などの文言を出し、訪問者にキックさせるのではなく、 訪問者は知らない内に本文アドレスが記録される、 という風にしたいのです。 ということで、 ベースはhtmlですが、その中にどのようにして当該cgiを埋め込むか、 を教えてください。 宜しくお願いします。

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

No.1です。 いや、 >「あなたは<img src="./cgi-bin/houmon.cgi">人目の訪問です。」 に組み込めばよいだけだと申してます。  ただ、その場合、当然ですがHTTR_REFERERはそのカウンターページになりますから、リンク元まで調べたければ、そのindex.htmlをCGIにしてしまえばすみます。 [例]index.html ★.htaccessで、index.htmlをCGIとして動作するよう指定する。 ★タブは_に置換してあるので戻す。 #!/usr/bin/perl print q~ Pragma: no-cache Cache-Control: no-cache Expires: -1 Content-type: text/html\; charset=Shift_JIS ~; while(<DATA>){ s/<!--HTTP_REFERER-->/$ENV{'HTTPREFERER'}/; print; } __END__ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> _<meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> _<title>サンプル</title> </head> <body> _<div class="header"> __<h1>タイトル</h1> __<p>あなたは<!--HTTP_REFERER-->からきました。</p> _</div> _<div class="section"> __<h2>見出し</h2> __<p>・・・</p> _</div> _<div class="footer"> __<h2>文書情報</h2> __<dl class="documentHistry"> ___<dt id="FIRST-PUBLISHED">First Published</dt> ___<dd>2012-08-10</dd> __</dl> _</div> </body> </html>  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで  拡張子は、Windowsというお馬鹿なOS以外、またネットワークでは関係ないです。  まあ、ちゃんとしたウェブサーバーでしたら、ログは残っているのでそれを参照すのが効率的なのですが・・ ※javascriptでも良いでしょう。

nagahaha
質問者

お礼

お手間を取らせ、大変申し訳ないのですが、 私のレベルでは理解不能でした。 お世話になりました。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

その、カウンターCGIに組み込めばよいだけですけど・・

nagahaha
質問者

お礼

早速有り難うございました。 折角お教えいただきましたが、 どうも質問の仕方が悪かったようで申し訳在りません。 >その、カウンターCGIに組み込めば  私のカウンター設置は一般的かどうかは分かりませんが、  「あなたは<img src="./cgi-bin/houmon.cgi">人目の訪問です。」とやっています。  これは、引き金(キック)は引かせていませんが、カウンターが表示されてしまいます。  質問が下手だったのですが、キックさせないだけではなく、  【cgiが動いていることが影も形も残さないで】が抜けていました。    表示されたページだけ見ていたら、裏でログが取られていることが分からないようにしたいのです。   そしてこれも忘れていましたが、SSIが使えませんので、   <--exec cgi="houmon.cgi"-->もダメです。  要するに、html文書の中で単純にcgiを実行したいのです。  宜しくお願いします。  

関連するQ&A