- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-03-11T21:49:15+09:00;2012-10-02T17:23:30+09:00","","")
**[[質問箱/5108]] [#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};
- && (!preg_match('^192\.168\./',$_SERVER['REMOTE_ADDR']))) を挿入するとメニューバーが消えてしまう -- [[matrix-kh]] &new{2012-09-16 (日) 11:11:38};
- すいません。 '/^192\.168\./' (/の入れ忘れ)でした。それでも「メニューバーが消える」って言う症状はよくわからないなあ。挿入する)の数が違っているとかじゃないですよねえ -- [[asato]] &new{2012-09-16 (日) 15:48:52};
- 元からあるif()の内側にmatrix-khさんのコメントのをそのまま入れたなら、閉じる)が1つ多い状態になるような。&br();あと次の人がまた引っかかるといけないので、勝手ながら2012-09-15 (土) 15:06:44のコメントのソースを修正しました。 -- &new{2012-09-16 (日) 21:39:57};
- ) && が’)) && になってました。見事解決しました。https://matrix-kh.com/ ところで解決した場合どうすればいいでしょうか。状態のところ。 -- [[matrix-kh]] &new{2012-09-17 (月) 16:36:02};
- 編集で完了に書き換えればOK -- &new{2012-09-17 (月) 22:09:31};
//#comment