pukiwiki のアクセスカウンタ counter について
指定ページにアクセスしてる人全員を洗い出したくて、ちょっと覗いた。
最初に結論
- 最後にアクセスした人の IP アドレスしかわからない
- アクセスした人全員のを知りたいならプラグインのソース書き換えて実装して
counter って何だっけ?
指定ページのアクセス数を表示するプラグイン。
使い方は、設定したいページに #counter
を書く。書いたらページ末尾に Counter: XXX, today: YYY, yesterday: ZZZ
みたいな行が表示されるようになる。
カウンタの性質
- IPアドレスによるユニークカウンタ
- yesterday カウンタは不具合があって動作しない?(常に0)
IPアドレスレベルで誰が見たかとかわからないかね?
とりあえず最終アクセス者ならわかる
(PUKIWIKI_ROOT)\counter(PAGENAME).count を見たらわかる。フォーマットはこう。
(TOTAL-ACCESS: int) (LAST-VISITED-DATE: string YY/MM/DD) (TODAY-ACCESS: int) (YESTERDAY-ACCESS: int) (LAST-VISITED-IPADDR: string aaa.bbb.ccc.ddd)
ただし PAGENAME はエンコードされているので人間には読めない。キーワードで GREP して探すなど工夫が必要。
プラグインのソース見てみる
(PUKIWIKI_ROOT)\plugin\counter.inc.php が counter プラグインのソースと思われる。
$fp = fopen($file, file_exists($file) ? 'r+' : 'w+')
← こんな感じで直接ファイルに書き込んでいる。IPアドレスについては最終アクセス者の分しか記録してない。
つまりアクセス者全員を知りたいなら、ここを書き換えることになる。