wwwcountのカウントアップをLAN+proxy環境に対応させるには?

[上に] [前に] [次に]
NF 1999/04/22(木) 16:52:19
はじめまして。
htmlの基礎からここのページで勉強させていただき、書籍を買わずにすんだNFと申します。
実はこのたび大学仲間と一緒にホームページを立ち上げました。
そこでこちらのwwwcountをカウンターとして使わせていただいているのですが、
カウントアップに際して少し問題が発生したので質問させてください。

リロードのたびにカウント数が増えるのはインチキ臭いということで、
同一IPチェック機能を使用して運用をはじめました。
ところが、主なアクセス元である大学が同じproxy接続であるために、
複数アクセスがあってもカウントされないという事が起こったのです。
そこで、HTTP_X_FORWARDED_FORを取って学内LANのパソコンごとのIPを
チェックするよう設定しようと考えたのですが、
これでは逆にproxyを介さない接続がカウントされなくなってしまいます。
(具体的には「# アクセスログを記録する」の部分に、
print(OUT "ADDR2 = $ENV{'HTTP_X_FORWARDED_FOR'}\n");を書き加えて、
「# すでに同アドレスからのアクセスがあればカウントアップしない」を
$_ eq "ADDR2 = $ENV{'HTTP_X_FORWARDED_FOR'}\n"にしてみました)

おそらくREMOTE_ADDRとHTTP_X_FORWARDED_FORの両方をチェックすれば上手くいくのでしょうが、
Perlの知識に乏しいため、簡単な改造は施せてもコマンド自体をいじることが殆どできません。
(改造してみたのですが上手くいきませんでした)
どなたかご教授していただければ幸いです。
また、もっと効率よく処理できる方法があればお教えいただけないでしょうか。

B-Cus 1999/04/22(木) 17:07:07
$ENV{'REMOTE_ADDR'}の代わりに、
 $ENV{'REMOTE_ADDR'}と $ENV{'HTTP_X_FORWARDED_FOR'}
を結合したもの、つまりperlで書くなら、
  $ENV{'REMOTE_ADDR'}.$ENV{'HTTP_X_FORWARDED_FOR'}
あるいは
  "$ENV{'REMOTE_ADDR'}$ENV{'HTTP_X_FORWARDED_FOR'}"
を使えばいいと思います。

NF 1999/04/23(金) 13:12:03
[[解決]]
どうもお手数おかけしました。
下手に考えすぎて、失敗していたようです。
ご助言のとおりに家の環境で試してみたところ、成功しました。
どうもありがとうございました。

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