質問: perl、phpとアクセスランキングについて質問です。 ・a hrefで普通に来た1カウント ・iframe srcで不正に来た1カウント 区別する方法はありますか? 困っています。
回答: え?え?え? 超自信満々の回答だったのに(笑)。 たとえば、このURLがランキング集計用のphpファイルだとしますよね? んで、 ``` アクセスランキング ``` をたどったアクセスはカウントしたいけど、 ``` アクセスランキング ``` からのアクセスはカウントしたくないって話ですよね? でJavaScriptのclientWidthを使えば、上記iframeの場合だけ、clientWidthが1になるはずです。通常のhrefからのアクセスであれば、ブラウザ内の横幅なので700-1000くらいの値が一般的でしょう。なので、たとえば「clientWidthとclientHeightがいずれも200未満ならiframeとみなす」とかがおすすめです。それなりの大きさにしないと、大きめのiframeを作られたらダメなので。ケータイ端末からのアクセスを考慮なくていいなら、もっと大きくてもいいもしれません。 で、ここからが肝心なのですが、 へのアクセスを受けとったら、Ajaxなりを使って、その場で などのファイルと通信させて、正しいアクセスの場合のみを記録するようにします。 正しいかどうかは、もちろん先ほどのclientWidthによる判断を利用します。 また、不正防止のために、 に直接アクセスされてもカウントしないような工夫が必要です。 以上ですが、 「perl/phpだっつってんだろ!Ajaxなんて知るか!」という場合はポイントいりません。 でも、とりあえず「アクセスランキングと別の話」という誤解が解けたらうれしいです。