GW中は管理している同人サイトのWordpressなどのレイアウト変更に当てようと思って、久々にサーバの中身などを整理していたら、昔に設置したpukiwikiに海外からSPAM投稿が入っていてげんなりした。多分、SEOスパムなんじゃないかと思われるのですが賞賛する英文とurlが新規投稿でねじ込まれていたのですよ。
使っていないwikiだしこのまま削除してもいいかなと思ったけど、なんかしゃくなのでSPAMフィルタを導入しておいた。
この記事を参考に導入したのだけどわかりにくかったので説明。
上記サイトに置かれている下記のファイルをダウンロード。
上記のファイルをpukiwikiのlibライブラリに設置。patchファイルを当てます。patchコマンドの使い方は下記。
これで、ファイルの差分がplugin.phpに当てられます。
ipcountryフィルタを使うために照合ファイルをダウンロードします。
ftp://ftp.apnic.net/pub/apnic/stats/apnic/delegated-apnic-latest
ダウンロードしたファイルをトップディレクトリに置きます。pukiwiki.ini.phpがあるディレクトリですね。
reCAPTCHAを使うためにライブラリを取ってきます。リンクが切れていたのでこちら。
Google Code Archive - Long-term storage for Google Code Project Hosting.
ファイルを解凍して、recaptchalib.phpをlibディレクトリに置きます。
NetDNSを使うためにダウンロードしてきてNetという名前で設置します。ダウンロードは下記。
キャッシュファイルを造ります。これもトップディレクトリですね。
<?php define('SPAM_FILTER_COND', '#useragent() or #filename() or #formname() or #atag() or (#onlyeng() and (#urlnum() or #uaunknown())) or #urlbl() or #urlnsbl() or (#url() and #ipdnsbl())'); define('SPAM_FILTER_CAPTCHA_COND', '#acceptlanguage("dummy") or (#url() and (#onlyeng() or #ipcountry() or #ipdnsbl()))'); define('SPAM_FILTER_RECAPTCHA_PUBLICKEY', 'hogehogehoge'); define('SPAM_FILTER_RECAPTCHA_PRIVATEKEY', 'piyopiyopiyo');
reCAPTCHAの公開鍵と秘密鍵は別途取ってくる必要があります。下記サイトを参照して取得して下さい。
取得した公開鍵と秘密鍵をSPAM_FILTER_RECAPTCHA_PUBLICKEYとSPAM_FILTER_RECAPTCHA_PRIVATEKEYへ置き換えます。
これで設定は終了です。記事を新規作成してみてURLを入力した記事を作ろうとすると下記のようにcaptchaが出てくるようならOKです。
なんだろう、全機能把握してないで組み込んでる。文字化けもでるし、後で何とかしよう。こんな事に貴重な一日費やしてしまった orz