**[[質問箱5/108]] [#cf349236] |RIGHT:70|LEFT:410|c |~カテゴリ|サイト管理・運営| |~サマリ|online プラグインでローカルアクセスを数えない| |~バージョン|1.4.7| |~投稿者|[[matrix-kh]]| |~状態|質問| |~投稿日|&new{2012-09-14 (金) 11:45:36};| ***質問 [#v9df34fe] online プラグインでローカルアクセスを数えないようにはできますか。管理者自身のアクセスは無視して欲しい。 ***回答 [#u966cd99] - plugin/online.inc.phpのplugin_online_itself関数で if (! isset($count)) { if (isset($_SERVER['REMOTE_ADDR'])) { $host = & $_SERVER['REMOTE_ADDR']; } else { $host = ''; } となっている場所をいじってみるとか?REMOTE_ADDRがある場合は無条件で追加されているのを、例えば192.168.始まりのローカルIPなら$host = ''として追加しないように分岐を追加するとか。 -- &new{2012-09-15 (土) 11:41:33}; - PHP素人なもので、具体的にどうすればよいかわかりません。すみません。 -- [[matrix-kh]] &new{2012-09-15 (土) 14:20:44}; - いじるとしたら if (! isset($count)) { if (isset($_SERVER['REMOTE_ADDR']) && (!preg_match('^192\.168\./',$_SERVER['REMOTE_ADDR']))) { $host = & $_SERVER['REMOTE_ADDR']; } else { $host = ''; } って感じだと思うんだけど、やってみたたら「not writable」とのこと。 私の環境では普段#online使ってないから、自分以外接続無しで1人以上居るはずなのにファイルがない。でエラーなんじゃないかと思う。調査継続 -- [[asato]] &new{2012-09-15 (土) 15:06:44}; - たぶん } else { // Write $result = plugin_online_sweep_records($host); } } if ($result) { return $count; // Integer } else { で、plugin_online_sweep_records関数が0カウントを返してきた時に、エラーと同様のFALSE扱いされるのがまずいと思う。if ($result) → if ($result !== FALSE)に修正すれば、エラーのFALSEと0カウントを区別するようになると思う。 -- &new{2012-09-15 (土) 20:49:02}; #comment