Web製作メモ帳

Web制作で気づいたことをつらつらと

PukiWikiのSPAM対策:Akismet

 PukiWikiで運営しているページにSPAM書き込みが多くなってきたのでSPAM対策を施しました。今回導入したのがAkismetというもの。WordPress用のSPAM対策サービスだが、APIが公開されていて登録をすればWordPress以外のページでも使用できるものだ。そのAkismetをpukiwikiで使用するプラグインakismet.inc.phpというものがあり、今回はそれを使用してみました。以下で使用方法を紹介します。

PukiWikiプラグインAkismet導入方法

Akismet API key を取得する

 こちらのサイトでで取得できます。なお、"Personal"を選ぶと無料で利用できます。まずは無料で使ってみて様子を見ながら有料版に切り替えるのがおすすめ。ここで登録したメールアドレスに Akismet API key が送られてきます。

 なお、AkismetプラグインのマニュアルにはWordPressのユーザ登録が必要と書いてありますが、現在は上記で紹介したように akismet.com で Akismet API key のみ取得可能となっています。

reCAPTCHA API Key を取得する

reCAPTCHAのページからAPI Keyを取得します。ここで、使用するドメインドメイン名を入力する必要がありますが、「a.hoge.com」と「www.hoge.com」の両方で使いたい場合は「hoge.com」だけを入力すればサブドメインを含めて利用可能です。

 なお、この記事を書いている時点でAkismetプラグインのマニュアルに書いてあるreCAPTCHAのページは無効(デッドリンク)となっているので、上で紹介したページで取得しましょう。

akismet.inc.php のダウンロードと設定

 akismet.inc.phpのページからダウンロードします。ダウンロードしたファイルをマニュアルの「プラグイン設定」に従って書き換えます。「必須」と書かれてある各Keyの設定は必ず行なって下さい。

PukiWiki本体の修正

 PukiWikiインストールフォルダの配下の lib/pukiwiki.php を書き換えます。書き換える内容はマニュアルを参照して下さい。

ファイルのアップロード

 先ほどの「akismet.inc.php」をPukiWikiインストールディレクトリ配下の「plugin」ディレクトリ内にアップロード、さらに「pukiwiki.php」を「lib」ディレクトリ内にアップロードして上書きします。これで完了。


 なお、動作させているPukiWikiのアドレスに「index.php?cmd=akismet」を付け足してアクセスすると確認画面にアクセスでき、実際に動作しているかどうかが確認できます。最初のうちは「ログファイルが見つからない」という内容が表示されると思いますが、SPAMをブロックすると自動的にログファイルが作成され、確認画面からブロックした内容を確認できます。


 先日PukiWikiにて運用しているWikiKeibaにインストールしてみましたが、連日書きこまれていたSPAM記事が書き込まれなくなり、動作ログをみるとちゃんとブロックしている様です。