平成20年5月20日 火曜日

キャプチャ認証

Filed under: プログラミング — とめくぎ @ 17:23:24

いわゆる、画像認証ってやつで、画像に含まれている文字をFormに入力してもらって、人間かボットかを判別する仕組みですね。

管理している掲示板にスパム投稿が酷いので、今までは自作の辞書フィルタで対応していたんですが、たまーにすり抜けるのも居るので、そんなに重要度の高くない(投稿数の少ない掲示板)にキャプチャ認証を入れてみました。
(上記のフィルタも一部商業サイトでも実働中で、ある程度の辞書のメンテナンスは要りますが、8割は除去できているんじゃないですかね?)
まあ、単に投稿数の少ない掲示板の監視が面倒なんですがね。

で、
GD::SecurityImage
とかをインストールしてみたんですが、基本的に英語のキーしか表示できないのが
日本人に厳しく英語圏の人間に優しいという矛盾を感じたので、日本語を振り回せるように改造してみたりしました。

大した事じゃないのに、モジュールをインストールしたり、改造したりが面倒なので、結局あとで自作しましたが、取り合えずメモとして。

GDでランダムで線や点を打った画像に、ランダムでひらがなを描くだけです。
コツはひらがなを書くときはUTF8に変換してstringFT関数を呼ぶこと。
文字の位置とラジアンもある程度ランダムにする事ですかね。

文字キーと画像の結びつけは、md5とかを使って生成したキーを持ち回す事で済まします。

ねっ簡単でしょ?

出来た画像はこちら↓
キャプチャ認証

HTML convert time: 0.332 sec. Powered by WordPress ME