CAPTCHAもどき


高木浩光@自宅の日記 - 飾りじゃないのよCAPTCHAは 〜前代未聞のCAPTCHAもどき, CAPTCHA機能の発注仕様をどうするか


うーん。これはひどい


製造過程を想像するとかなり悲惨。

数字の画像も手で作ったのかなぁ?


というわけで、ライブラリを使いましょう。

#!/usr/local/bin/perl
use strict;
use warnings;

use CGI;
use GD::SecurityImage;

my $image = GD::SecurityImage->new(
    width   => 120,
    height  => 40,
    lines   => 5,
    gd_font => 'Giant',
);
$image->random;
$image->create('normal', 'circle', [0, 0, 0], [200, 200, 200]);
$image->particle(200);
my ($image_data, $mime_type, $random_number) = $image->out;
my $q = CGI->new;
warn $mime_type;
print $q->header(-type => "image/$mime_type");
print $image_data;

で出来た画像。



フレームワーク用のプラグインもたくさんあるみたい