新しく質問する

自ホームページ用のアクセスログCGI

役に立った:1件
  • 質問者:guuman
  • 投稿日時:2005/01/12 20:32
  • 困り度:暇なときに回答をください
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

z.cgiをPerlで作って自分のページにアクセスがあるたびにz.cgiが実行されて足跡がログファイルに記録されるようにした場合
他人がその他人のページがアクセスされるたびにz.cgiを呼び出されるように設定した場合他人のページにアクセスがあるたびにログファイルが更新されてしまいます
この問題点を解決するためにどうしたらいいのでしょうか?

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:1件)
  • 参考になった:0件

No.2ベストアンサー10pt

  • 回答者:steel_gray
  • 回答日時:2005/01/13 00:09

HTTPのリファラ以外に呼び出し元を特定する方法はないかと思います。
が、ご自身で調べられたように100%アテにできる情報ではないのでリファラチェックは通常時のログ解析の精度を落とすだけになるかと思います。
メジャーなブラウザはリファラを送出しますが足跡を残すのを嫌ってリファラを出さないように設定を変えていたり、プロクシ等でリファラの送出をブロックしている人もいます。
また、今はどうかわからないけど、ちょっと前のセキュリティソフトにはデフォルトでリファラ送出をブロックするように設定されていてリファラをチェックするCGIでカウンタが表示されないとか掲示板に書き込めない等のトラブルをよく聞きました。

不完全な方法なら他の方法もあるかもしれませんが・・・
他人がアクセスログを呼び出す利点って嫌がらせぐらいしか思いつかないし、悪意あっての行為なら防ぎきれないと思います。

通報する

この回答への補足

ありがとうございます
これは何とかしないとセキュリティホールになりかねないですね
自分のページの最後の部分に
<img="http://www/cgi-bin/z.cgi" height=0 width=0/>
を記述してz.cgiを実行させログを書き込んでいますが
今回レファラが自分のページと同じかどうかでログの書き込みを止めるようにしました
他の方法として「ソースの表示」で
http://www/cgi-bin/z.cgi
が見えないようにする方法は無いでしょうか?

  • 参考になった:0件

No.1ベストアンサー20pt

  • 回答者:panick
  • 回答日時:2005/01/12 22:14

リンク元URLを示す環境変数 $ENV{'HTTP_REFERER'} を使って、カウンターを設置したページURLと比較チェックするようにCGIを修正すれば如何ですか?

通報する

この回答への補足

ありがとうございます
調べてみると
HTTPでは、Refererの送信に関してはオプションと定義していますので、すべてのブラウザーが必ず送信するとは限りません。しかし、ほとんどのメジャーなブラウザーは、Refererを送信しているようです。
とありました
だから$ENV{'HTTP_REFERER'}を使うことでz.cgiのリンクを貼ったHTMLの場所が必ずしもこの環境変数から分かるとは限らないようです
マイナーなブラウザから自分をアクセスした場合にはログをとるのを止めるという事をしてもそれほど不都合は無いので問題ないと思われるのでこの方法は有力ですが
確実にz.cgiが自分にリンクしているページを知る方法は無いでしょうか?

  
このQ&Aは役に立ちましたか?(役に立った:1件)

このページのトップへ

Facebook公式ページ

公式Twitter