サンプル・プログラムの解説:CAPTCHAを認証する |
|
|
CAPTCHA を発生するのは antispam_input.php である。 ヘッダなどを出力する「共通処理」、CAPTCHA に対応する文字列を入力する「入力処理」、CAPTCHA との比較処理と結果を出力する「認証処理」の 3 つの部分に分かれる。 まず入力処理だが、これは通常の HTML コンテンツである。 CAPTCHA を生成するために、antispam_input.php をそのまま呼び出している。 [送信]ボタンをクリックすると、自分自身 $myself を呼び出し、認証処理へ続く。 こうした動きを受け、米ペンシルバニア州立大学は。新しい CAPTCHA 技術「IMAGINATION」を開発した。 IMAGINATIONでは、まず組み合わされた複数の画像の中からどれか一つの画像の中心をクリックし、次に表示された画像の説明をリストから選ぶという二段階の認証方式をとっている。ユーザに表示される画像は、ランダム生成されたパラメータによって色が変えてあったり、関係ない質感や縁取りが表示されるようになっている。
0048: // 【2】入力処理 ========================================================== |
|
|
認証処理では、まず、ユーザー関数 MyCheckCharacter と MyCheckStrLength を利用して、入力文字の種類(半角数字・半角英数字;AntiSpam クラスが発生させることができる文字種)と、入力文字の長さ(変数 $col)の検査を行っている。 これは、クロスサイトスクリプティング(XSS)対策の意味もある。 検査をクリアしたら、CAPTCHA発生時にセットされた Cookie の内容と入力文字列を比較する。完全に一致すれば認証成功である。
0061: // 【3】認証処理 ========================================================== |
CAPTCHAが破られる? |
|
|
2008 年 2 月、セキュリティ企業の Websense は、スパマーがボット・プログラムを使ってWindows Live Mail の CAPTCHA を破ったと伝えた。 このボットは、Live Mail の CAPTCHA画像を CAPTCHA破りサービスに送信して読み取らせ、解読したテキストを受け取る仕組みになっている。CAPTCHA破りに成功する確率は平均で 3 回に 1 回程度だが、このプロセスを何度も繰り返すことで、悪用目的のアカウントを大量登録しているという。 さらに 4 月には、Google の CAPTCHA も突破されたと報じている。 JpGraph によって生成された CAPTCHA も、いつか破られる(破られた)かもしれない。 こうしたプログラムは、ユーザーが少ない方が破られにくい(スパマーが興味を抱かないため)ので、参考サイトで紹介しているようなライブラリを使うといいだろう。 そんな中、「妹認証」が登場した。妹の絵に書かれた文言(日本語の画像)に返答することで認証できる。 デモ版のインターフェースはともかく(笑)、隠語を符丁にした CAPTCHA というコンセプトは使えそうだ。 また、Securimage PHP CAPTCHA では、PHP から利用できるさまざまな CAPTCHA 生成ライブラリを無償提供している。これらを使い分けることで、CAPTCHA を破られるリスクは低くなるだろう。 |
|
CAPTCHAを使って書籍をデジタル化 |
|
|
米カーネギーメロン大学のコンピュータサイエンス校が「reCAPTCHA」というプロジェクトを立ち上げた。 これは、文字のにじみなどがあり OCR では判読できない書籍の一節を CAPTCHA に利用。未判読の単語と既に判読されている単語を組み合わせて表示し、ユーザーに両方の単語を読み取ってもらうというもの。判読済みの単語が正しく入力されれば正解として扱い、別のユーザーにも判読してもらうことで精度を高める。こうして、人力で書籍をデジタル化していくのである。 このプログラムを約 1 年間にわたってネット上で公開したところ、4 万以上のウェブサイトで採用され、約 1 万 7600 冊の書籍に相当する 4 億 4 千万以上の単語が、ネット利用者によって解読された。正解率は、書籍のデジタル化サービスの業界標準に匹敵する 99.1%にのぼったという。 |
|
参考書籍 |
|
|
|
参考サイト |
|
|
|
|
|
|
|
|
2007年02月11日 作成
2009年09月30日 更新
Copyright by studio pahoo, (C)2009
(※)本ページはリンクフリーですが、複製・転載時にはご一報ください。 ★本ページへのご意見・ご質問・お便りは、ここをクリックしてください。 |