存在しないページを read するとカウンタファイルが作成されてしまう

メッセージ

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))
  	{


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-11-30 (日) 10:05:12
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.271 sec.

SourceForge