新人SEの小沼です。
アークウェブでは社内の情報共有のため、またお客様との情報共有のためにもPukiWikiをよく活用していますが、そのPukiWiki用のspam(スパム)投稿防止ツールを作成しましたので、紹介します。
PukiWiki/Akismetによるspam(スパム)防止機能 - ARK-Web SandBox Wiki
https://www.ark-web.jp/sandbox/wiki/190.html
同じ内容をPukiWiki-devにも投稿してあります( PukiWiki/1.4/ちょっと便利に/Akismetによるspam(スパム)防止機能 - PukiWiki-dev )。
spamを防ぐには、まず投稿された文章がスパムメッセージかどうかを判定する必要があります。
それにはいろいろな方法があると思うのですが、今回は最近評判のAkismetというAPIを利用しました。
Stop Comment Spam and Trackback Spam « Akismet
http://akismet.com/
Akismet APIでは、新たなコメントやトラックバックがつくと、Akismetのサーバにメッセージが送られ、それがスパムメッセージかどうかを判定し、その結果を教えてくれます。
利用するにはAPIキーが必要ですが、ユーザ登録を行うと無料でキーを取得できます(ブログから月$500以上の収益を上げている場合はCommercial Use API Keysの取得が必要)。
今回作成したツールの概要は以下のようになります。
・投稿されたPOSTの内容をAkismetに問い合わせる。
・Akismetにスパムではないと判定されたら、そのまま処理を続ける。
・スパムと判定されたら、エラー画面に戻す。
肝心のAkismetのspam判定ですが、なかなか優秀で、ほとんどのスパムを識別してくれます。
以前は弊社のSandBox Wikihttps://www.ark-web.jp/sandbox/に日に20件ほどのスパムが投稿されていましたが、設置後は週に1~2件になりました。
もしPukiWikiを使っていてspamに悩まされることがありましたら、ぜひ一度試してみてください。