[PHP-users 34391] Re: $_SERVERでユーザ名を調べる

fujioka qhtsige @ apost.plala.or.jp
2009年 3月 10日 (火) 23:08:21 JST


さかもとさま 藤岡です
”適切な”コメントありがとうございます。

> ここには高度な知識を持った方がたくさん参加されています。(と信じます^_
^)
> その方々の回答を得るにはコツが必要です。
> 解決すべきことを絞ってから質問をするべきです。
> そうすれば、即座に解決策を教えてくれると思います。

おおしゃる通りで、自分なりに整理して質問した積りです。進む中で、追加の項目が
でてきても止むを得ないと思います。鶏がさきかタマゴが先かの話になりますが、

> 今回の件で言うと、「PHPにアクセスしてきたユーザを特定する方法はありますか
?
> 検索エンジンのクローラ、自分、その他のアクセスが識別できれば十分です。
> 本当の訪問者数のアクセスのログを集計しています。」

将にその通りで、納得できる表現です。しかし、最初からそのようなポイントは自分
の実力から、色んなケースを想定して、そこまでは残念ながらできませんでした。進
む中で披露できればよろしいのではありませんか。

> で十分だと思います。で、きっと回答は・・・もうMLで出尽くしておりますが、
> ユーザの判別方式は、IPアドレス(ホスト名解決)か、クッキーおよびセッション
> 管理でしか実現できません。

もう、この点は理解できております。問題は、自分からを、どこまで実用的に許容す
るかは、私の判断になるはずです。ホスト名だけ(文字列plalaのみ)では、plalaの
他のユーザまで含めるのですから、完全でないことは当初から理解しております。固
定IPアドレスでないことも考慮して。完全にするには、セッションあるいはクッキー
を使う他ないこともわかります。しかし、この実装は、他の面でマイナスがあります
から、それを実装するかどうかは当方の判断になります。  それで、目的に照らし
て、工数も考慮して、手段を選ぶわけです。
やるべきことは他に山ほどありますので。

ここまで書いて、気が付きましたが、クッキーなら現にやっているので、比較的実装
が見えるような気もしてきました。自分特有のキーを設定して、クッキー非設定クラ
イアントは除外できますから。そうしても、plalaの他のユーザからのアクセス回数
が影響受けるだけですから、全体から見て、全然たいしたことはないのですが。

> クローラーはちゃんとクローラーがどのホスト名なのかを知っていれば多少の
> 誤差はあっても満足できる判別はできると思います。

今はログをながめて、一意らしきホスト名を選んでいますが、分けの分からない名前
のものあり、その判定に悩んではいます(例:このMLから出ているらしき、Gecko
で、ブラウザの拡張らしく、クローラではなさそうですが)

> 私なら「セッションでアクセスを判別する」を選択します。なぜなら、これであれ
ば
> ブラウザ単位でのユニークなIDが取れるので、本当のアクセス数を知ることが
> 出来ます。

その通りでしょうが、どこまで必要とするかですね。HPへの真のアクセスを知りたい
理由は、どれくらい関心をもたれているかを判断したいだけなので、大雑把でよいの
です。HPに掲示したい訪問カウンタは、世の中のHPはクローラや自分も含めた数に
なっている思うので(認識が間違っていれば済みません)、その点をまじめに表示し
たいのです。
クローラについては、クロールの状況を調べて、インデックスに寄与する方策が無い
かの検討材料にするわけです。 今の最大の課題は、なぜインデックスがされにくい
かを見つけることなのです。この方面の良い掲示板はないですね。
                                  藤岡




PHP-users メーリングリストの案内