画像パスワード:CAPTCHA

よくブログのコメント入力などで

「この画像に表示されている文字を入力してください」

とか言って読みにくい文字とかが出てくるのですが、これを”CAPTCHA”というらしいです。

お客さんのサービスに実装しようと思い、簡単に使えそうなphpライブラリを探していると

KCAPTCHA

というのがあったので、早速使ってみました。

利用にあたっては、phpにGDライブラリがincludeされていることが前提となります。

サンプル1:

このページをリロードするたびに表示される文字が変わるのが分かりますね。

ただ、ちょっと読みづらいので、 kcaptcha_config.phpをいじって

・表示される文字は数字のみ

・表示文字数は5文字

としてみました。

サンプル2: 

ちょっと見やすくなりましたね。

ただ、この表示された文字とユーザの入力値を比較するかというと、表示されたときの値をphpの$_SESSION変数に保持させて、入力値と比較します。

このcaptchaプログラムをindex2.phpとすると、このプログラム内で

$_SESSION[‘img_captcha’] = $captcha->getKeyString();

などとして、入力フォーム(例えばform.php)に

<img src=”/kcaptcha/index2.php”>

と貼り付けて、form.phpの中で

if ($_REQUEST[‘input_captcha’] !=$_SESSION[‘img_captcha’]){

return false;

}

みたいにすればOKです。

こんなの作っても全然面白くないので、ありものを使ったほうが良いです。