http://nakahara21.com/?itemid=563
コメントスパム対策のプラグインです。以前から似た系統のスパムコメントプラグインのNP_CTのインストールだけはしていたのですが、こちらはコメントが書き込まれると即座には反映されず、投稿コメントが保留された後に承認されて初めて反映される仕組みになっていて、面倒かなーと思って使ってませんでした。
そこで今回のNP_AntiSを使ってみることにしました。はじきたいコメント本文に含まれる単語を指定すると、その単語を含めてコメントしても書き込みできません。逆に言えば自分で指定してない単語のスパムははじけないわけですが、困った量のスパムが来たときにまた考えてみます。
なお、NP_CTの承認方式を導入してるとNP_AntiSは効力をなさないので(当たり前ですけれど)、併用する意味はないから使うならどちらか一つでいいと思います。
NP_Blacklistを使えばいいんじゃ?と思われる方もおられると思いますが、今は外しています。かなり長いし殆どの方には無関係な話ではありますが、サイト閲覧不可の件と関連した、今回のプラグイン導入の経緯を書き残しておきます。未来の自分への備忘録にもなるかもしれませんし(必要にならない方がいいのですが)。
ここしばらく、当サイトが夕方から夜中にかけて
Request Cannot Be Serviced
The site has exceeded its resource limit and cannot process this request.
という表示がされて、PHPだけ実行できない(=Nucleus構築サイトが表示できない)状態になってたと思います。アクセス過剰だからというわけではなく、PHPのリソースが消費されつくしてしまったから、というのが原因だそうです。こうなるにはファイルやDBなどがオープンしっぱなしになってるのが蓄積されて……リミットを越えると上記のエラー表示になってしまい、明朝7時にサーバーが自動再起動するまではphpでの表示は出来なくなっていたわけです。
そういう時は仕方ないので、帰宅後にローカルホストでNucleusを動かしてindex.htmlとしてファイルに保存し、これをサーバーにアップすることでトップページだけ表示させてみたりしてしのいでました。そのためにローカルURL変換用のSleipnirスクリプトを作ったりしたので、何のために何をしてるんだろうか俺は、という気分にもなったりしました。
とりあえず原因が良く分からないので、毎日少しずつ条件を変えてテストし、絞り込んでいこうと考えました。プラグインの数を減らしてみたり、デフォルトスキンだけにしてみたり、といった感じに設定を変えてはその日もつかどうか試すわけです。いろいろ試してみていった結果、どうもスパムコメント対策のBlacklistプラグインが何かしでかしている可能性がある、という気分になってきました。
blacklist.logというログファイルがあるんですが、一日400件以上、ファイルサイズにして一日80KB、というペースでログが増殖していってました。当サーバーのphpでのmax_execution_timeは5しかないので、ある程度重い処理をするとすぐにタイムアウトになってしまいます。タイムアウトになるだけならまだいいんですが、その時に開いてたDBとかファイルはちゃんと閉じれてるんだろうか、って推測をしてしまいたくなるわけです。つまりこんだけファイルサイズのあるログをページ表示するたびに確認しては書き込んでクローズして、ってのを繰り返していてはパンクするのもしかたないだろう、と。
そういうわけで試しにblacklist_lib.phpにてログファイルに何かしてる関数の中身を全てコメントアウト化して、ログファイルを一切触らないようにしました。少しして確認してみましたが、あれだけ書き込みがあったログは0KBのままです。これで大丈夫かとも思ったんですが、多少サイトの生き延びる時間は増えたものの、結局深夜にアクセス不可状態に陥ってしまいました。結局、サイトを表示しようとするときに、Blacklistがスパムコメントかどうか判断するって処理だけでも結構なモノだったのではないか、と感じました。
そこでBlacklistを削除せず、まずは管理画面から機能停止だけして様子を見守ってみました。すると心なしかサイトの動作がかなり全般的に軽くなった気がします。そしてそれが気のせいではなかったのか、サイトはずっと無事に表示されたままだったのでした。そこで昨日はBlacklistを削除してサイトが無事なのを確認しつつも、さっそくスパムコメントが一件書き込もうとしてきていたので、当座のスパムコメント対策をせねば、といった感じでNP_AntiSを導入したわけです。
ここまでやってきましたが、スパムコメントに対しては対策してますが、スパムトラックバックに関しては対策できてない形になります。正直言って当サイトにトラックバックって必要な気もしてないので消してもいいかな、という気分ではあるものの、書評Wikiみたいなものをトラックバック集積所みたいなところを作って、はてなやMixiみたいな感想総合サイトを誰かが実現してくれるのであれば、トラックバックも有用だから残しておこうかな、とも思っています。使い方次第では単なる横のつながりだけではない何かが生まれそうなので、とりあえずまだトラックバックは残しておくつもりです。でもスパムトラックバックが沢山きたら即座にブチ切れて消しそうな気もしています。明日はどっちだ。
コメント