MenuBar に #counter を設定し、すべてページのカウンタをとるようにしている場合、存在しないページを read しただけで、ページを作らなくても、カウンタファイルが作成されてしまいます。
通常は特に大きな問題にはならないと思いますが、 #calendar2 を設置しているページに、ロボットがやってきたときは、日付という日付をクリックしまくって、数千個のカウンタファイルを残していってくれました。
取り敢えず、自分のところでは次のように対処しました。 これでいいのでしょうか。
pukiwiki.php
*************** else if((arg_check("read") && $vars["pag *** 724,729 **** --- 722,728 ---- $page = str_replace('$1',make_search($get["page"]),$_title_edit); $template = auto_template($get["page"]); $body = edit_form($template,$get["page"]); + $vars["cmd"]="edit"; } else { $title = str_replace('$1',htmlspecialchars(strip_bracket($get["page"])),$_title_invalidwn);
plugin/counter.inc.php
*** 15,20 **** --- 15,24 ---- { global $vars,$HTTP_SERVER_VARS; + if (arg_check("add") || arg_check("edit") || arg_check("preview") || $vars['preview'] != '' || $vars['write'] != '') { + return ""; + } + $file = COUNTER_DIR.encode($vars["page"]).".count"; if(!file_exists($file)) {
pukiwiki.php | 1.16.2.1 |
plugin/counter.inc.php | 1.5.2.1 |