Protector detects site manipulation. 
何気なくアクセスしたつもりなのに、このメッセージが表示されて、サイトへアクセスできないことがあります。
なぜ? どんな条件で? 調べてみましょう。
check_manipulation 
どうやら、 class/protector.php の check_manipulation 以外には、
このメッセージを表示する場所はないようです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| function check_manipulation()
{
if( $_SERVER['SCRIPT_FILENAME'] == XOOPS_ROOT_PATH.'/index.php' ) {
$root_stat = stat( XOOPS_ROOT_PATH ) ;
$index_stat = stat( XOOPS_ROOT_PATH.'/index.php' ) ;
$finger_print = $root_stat['mtime'] .':'. $index_stat['mtime'] .':'. $index_stat['ino'] ;
if( empty( $this->_conf['manip_value'] ) ) {
$this->updateConfIntoDb( 'manip_value' , $finger_print ) ;
} else if( $finger_print != $this->_conf['manip_value'] ) {
// Notify if finger_print is ident from old one
$ret = $this->call_filter( 'postcommon_manipu' ) ;
if( $ret == false ) die( 'Protector detects site manipulation.' ) ;
$this->updateConfIntoDb( 'manip_value' , $finger_print ) ;
}
}
}
|
チェック内容 
まずは、「XOOPS_ROOT_PATH/index.php の場合のみ判定」するようです。
たしかに、サイトの URL しか入れていない場合に出ています。
その後、情報をもとに、finger を作成しているようです。
更に、finger が登録されていければ更新し、あれば、以前の情報と比較ですか。
なるほど。
つまり、XOOPS_ROOT_PATHの情報に変化があると、警告されるわけですね。
Google Webmaster Central とかのために、確認の HTML をアップロードしたり、
robots.txt の編集をしたり、モジュールを追加して、Topフォルダを更新したら、
finger を削除しろと、そういうことなのですね。
対応方法 
継続して表示させないためには、一般設定で「サイト改ざんチェックを有効にする」を「いいえ」に設定する。
トップフォルダの日付が変わるような操作をしたら「サイト改ざんチェック値」を削除する。
Counter: 1904,
today: 4,
yesterday: 2
Last-modified:2010-06-04 (Fri) 12:03:57 (JST) by segu