超メモ帳(Web式)@復活

超メモ帳(Web式)@復活

統合失調症を患い、はてなからも逃亡。現在、復活のため準備中。


SPONSORED LINK

pukiwikiにスパムフィルタを導入する。


GW中は管理している同人サイトのWordpressなどのレイアウト変更に当てようと思って、久々にサーバの中身などを整理していたら、昔に設置したpukiwikiに海外からSPAM投稿が入っていてげんなりした。多分、SEOスパムなんじゃないかと思われるのですが賞賛する英文とurlが新規投稿でねじ込まれていたのですよ。

使っていないwikiだしこのまま削除してもいいかなと思ったけど、なんかしゃくなのでSPAMフィルタを導入しておいた。


美麻Wikiでシステム的に修正している点 - 美麻Wiki


この記事を参考に導入したのだけどわかりにくかったので説明。


上記サイトに置かれている下記のファイルをダウンロード。


上記のファイルをpukiwikiのlibライブラリに設置。patchファイルを当てます。patchコマンドの使い方は下記。

% patch plugin.php < plugin.php.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という名前で設置します。ダウンロードは下記。


Net_DNS


キャッシュファイルを造ります。これもトップディレクトリですね。

% touch dns_ns.cache
% chmod 777 dns_ns.cache


あとはpukiwiki.ini.phpに下記を追記します。

<?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の公開鍵と秘密鍵は別途取ってくる必要があります。下記サイトを参照して取得して下さい。


Joomla!の道しるべ


取得した公開鍵と秘密鍵SPAM_FILTER_RECAPTCHA_PUBLICKEYとSPAM_FILTER_RECAPTCHA_PRIVATEKEYへ置き換えます。


これで設定は終了です。記事を新規作成してみてURLを入力した記事を作ろうとすると下記のようにcaptchaが出てくるようならOKです。



なんだろう、全機能把握してないで組み込んでる。文字化けもでるし、後で何とかしよう。こんな事に貴重な一日費やしてしまった orz



人気ブログランキングへ

広告を非表示にする
プライバシーポリシー免責事項