質問箱/5108

カテゴリサイト管理・運営
サマリonline プラグインでローカルアクセスを数えない
バージョン1.4.7
投稿者matrix-kh?
状態完了
投稿日2012-09-14 (金) 11:45:36

質問

online プラグインでローカルアクセスを数えないようにはできますか。管理者自身のアクセスは無視して欲しい。

回答

  • 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 = ''として追加しないように分岐を追加するとか。 -- 2012-09-15 (土) 11:41:33
  • PHP素人なもので、具体的にどうすればよいかわかりません。すみません。 -- matrix-kh? 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? 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カウントを区別するようになると思う。 -- 2012-09-15 (土) 20:49:02
  • && (!preg_match('^192\.168\./',$_SERVER['REMOTE_ADDR']))) を挿入するとメニューバーが消えてしまう -- matrix-kh? 2012-09-16 (日) 11:11:38
  • すいません。 '/^192\.168\./' (/の入れ忘れ)でした。それでも「メニューバーが消える」って言う症状はよくわからないなあ。挿入する)の数が違っているとかじゃないですよねえ  -- asato? 2012-09-16 (日) 15:48:52
  • 元からあるif()の内側にmatrix-khさんのコメントのをそのまま入れたなら、閉じる)が1つ多い状態になるような。
    あと次の人がまた引っかかるといけないので、勝手ながら2012-09-15 (土) 15:06:44のコメントのソースを修正しました。 -- 2012-09-16 (日) 21:39:57
  • ) && が’)) && になってました。見事解決しました。https://matrix-kh.com/ ところで解決した場合どうすればいいでしょうか。状態のところ。 -- matrix-kh? 2012-09-17 (月) 16:36:02
  • 編集で完了に書き換えればOK -- 2012-09-17 (月) 22:09:31

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

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

OSDN