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

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

メッセージ

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に投入しました。 -- ぱんだ 2003-01-27 (月) 13:15:24
    pukiwiki.php1.16.2.1
    plugin/counter.inc.php1.5.2.1

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

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.143 sec.

OSDN