コメントスパムのアクセス制限について

 いままではブラックリスト方式でやっていました。つまり「全てのアクセスを許可し、さらにそこから弾く相手をリストに羅列」する方式です。「スパムとの戦い:現在状況報告」のエントリーで書いたとおりですね。

 ですがあれからわずか二日で状況がかなり悪化しました。ネズミ講じゃないですけど、うちに自動書き込みするための何かが増殖しているということです。制限の羅列で対処するのも切りがない状況になってきました。

 対策としては、よくあるところの「書き込むときに認証する方法」が手間的にはベストだと思います。書き込み窓を開いてから一定時間有効の認証キーを使うわけですから、オフラインで事前準備をしておくことができません。毎回手動でアクセスして書き込まないといけなくなるのでスパムは来ない(来にくくなるだけですが)でしょう。

 でも、それをする前に少し実験したい。ブラックリストではなくホワイトリスト方式も試してみたい。ホワイトリスト方式とは、とにかくいったん全部を拒否し、許可する分だけリスト化する方式です。うちは日本語のみサイトですから海外からのアクセスってのをほとんど考慮しなくていいので、ホワイトリスト方式の方が楽そう。

order deny,allow
deny from all
#
allow from .jp
allow from .com
allow from .org
allow from .net
allow from .uk
#
#以下 deny from ~ の羅列
#

 こんな感じです。あの長いデータがこれだけに収まる。最初に「どこからもアクセス出来ない宣言」をし、その上で例外としてアクセスできるところを並べる。独自ドメインということではなく、IP とその IP に割り付けられたホスト名なので、独自ドメインとして .com や .net を使っていても、日本の場合専用線を引っ張ってインターネットに接続しているところはほとんどなく、ISP 経由ですので、.jp だけで足りそう。あと、息子のところの .uk 。他に Google の検索ロボット(クローラー)は .com なので .com も許可に追加。
 .com 他のいくつかを追加すると、それを使ってるスパムも来ちゃうので、さらに過去一回でもスパムをよこした .com 等を追加。

(1)全部不許可
(2)その中から一部許可
(3)許可した中からさらに一部不許可

 という段取りです。問題はホスト名を割り付けていない生IPで使っている人はたとえ日本の IP でも弾かれてしまうということ。その場合、弾かれたということを連絡できない。アクセスできないんですから、いない人手を挙げてになってしまう。私への連絡法を持っている人ならいいんですが、そういう人は最初から弾かれないと思うし。でもログを流し見してみたところではそういうIPだけのホスト名無しで日本の人っていなさそう。

 少しこれを続けてみて、自己満足したら「認証方式」を検討します。