XOOPS 2.0.16a JP に XOOPS Protector 2.57 をインストールしてあったんだが、最新版の [Protector 3.14 beta](http://xoops.peak.ne.jp/md/mydownloads/singlefile.php?lid=105&cid=1&easiestml_lang=xlang%3Aja) でコメントスパム対策が出来るらしいのでアップデートしてみる。
## XOOPS Protector 2.57 から 3.14 beta へのアップデート方法
インストール方法は [Xoops Users Group Japan – ProtectorV3](http://www.xugj.org/modules/manual2/content/index.php?id=14) に書かれていますが、簡単にまとめてみます。
### 1. Xoops Protector 2.57 のアンインストール
稼働中サーバからダウンロードした mainfile.php の
include( XOOPS_ROOT_PATH . ‘/modules/protector/include/precheck.inc.php’ ) ;
と書かれてある所と
include( XOOPS_ROOT_PATH . ‘/modules/protector/include/postcheck.inc.php’ ) ;
と書かれてある所をコメントアウト後アップロード。私の場合はファイルの末尾付近に書かれていました。
それから、XOOPS_ROOT_PATH/modules/ 内の protector フォルダを削除。
### 2. Xoops Protector 3.14 beta インストールの前準備
非公開ディレクトリに新しいディレクトリを作成して、mainfile.php に以下の様な定義行を挿入後アップロード。環境に合わせて編集してください。私は XOOPS_ROOT_PATH のすぐ下に書きました。
define(‘XOOPS_TRUST_PATH’,’/home/yourhome/xoops_trust_path’);
### 3. Xoops Protector 3.14 beta のインストール
[Protector 3.14 beta](http://xoops.peak.ne.jp/md/mydownloads/singlefile.php?lid=105&cid=1&easiestml_lang=xlang%3Aja) のページからモジュールをダウンロード後、解凍。
解凍したファイルの html と言うフォルダの中身を ROOT_PATH 側に、xoops_trust_path と言うフォルダの中身を TRUST_PATH 側にアップロード。
XOOPS_TRUST_PATH/modules/protector/configs フォルダのアクセス権を 777 に変更。
モジュール管理画面からアップデート。
### 4. mainfile.php の書き換え
手順 1 でコメントアウトした行を次の様に書き換え。
include XOOPS_TRUST_PATH.’/modules/protector/include/precheck.inc.php’;
と言う行と
include XOOPS_TRUST_PATH.’/modules/protector/include/postcheck.inc.php’;
と言う行を書き換えてアップロード。以上でインストール終了。
## XOOPS Protector 3.14 beta から 3.17 beta へのアップデート方法
ファイルを入れ替えて、モジュール管理画面からアップデート。
## フィルタープラグインを使う
ここからはオプションな訳ですが、日本語を含まない書き込みもスパムとして判定したいので、
postcommon_post_need_multibyte.php
を
XOOPS_TRUST_PATH/modules/protector/filters_disabled/
から
XOOPS_TRUST_PATH/modules/protector/filters_enabled/
に移動してフィルターが動作する様にしておきました。
## ゲストユーザーの書き込みでテストしてみる
早速、ゲストユーザーとして書き込みをしてみました。
– 日本語を含まないコメント。
– リンクが5つ以上あるコメント。
上記、どちらかの条件に当てはまると書き込みが出来なくなりました。大成功!