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

-ページ: BugTrack
-投稿者: [[mizkaz]]
-優先順位: 普通
-状態: 完了
-カテゴリー: プラグイン
-投稿日: 2003-01-26 (日) 21:47:22
-バージョン: 1.3.3

**メッセージ [#n97020b6]
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))
   	{

----
-コードのご提供ありがとうございます。問題ないと思いましたので、CVSに投入しました。 -- [[ぱんだ]] SIZE(10){2003-01-27 (月) 13:15:24}
|pukiwiki.php|1.16.2.1|
|plugin/counter.inc.php|1.5.2.1|
- bMufYrnBlvca -- [[warbgbpxqql]] &new{2008-11-30 (日) 03:01:47};

#comment
//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.047 sec.

OSDN