画像認証

画像認証基本ファイル作成

左サイドナビ「画像認証の基本」の中の
「基本 Pear(PHP)ファイル」
の内容について説明していきます。
require_once ('Text/CAPTCHA.php');
で、まずはText_CAPTCHA クラスを取り込みます。
次に、Text_CAPTCHAインスタンスを作成するためのパラメータを設定後、インスタンス を作成します。

インスタンスの設定

まずは、Text_CAPTCHAインスタンスを作成するためのパラメータ設定が必要です。
$option の中に次のパラメータを書き込みます。

認証画像の大きさ(px)、画像ファイル形式指定

概略を設定します。
外形
'width' => 画像幅
'height' => 画像高さ
画像ファイル形式
'output' => 'png'

画像の詳細

画像の詳細は'imageOptions' array の中で設定します。
フォントが置いてあるのパス名
'font_path' => 'fonts',
フォントファイル名
'font_file' => 'cour.ttf',
のように指定します。
フォントは、C:\Windows\Fonts にありますので、ここからコピして、fontsフォルダ に置いてください。
ただし、明朝のようなフォントを選ぶと漢字フォントも含まれてしまうのでフォントサイズ が大きくなってしまいます。
なるべくフォントサイズが小さいものを選びましょう。
又、一部のフォントはレンタルサ-バにあげることができないものもあります。
その場合は、拡張子を一旦 .txt に変更し、アップした後サ-バ内のファイルを含め拡張子 を元に戻しましょう。
フォントサイズと色の指定
'font_size' => 24,
テキストの色
'text_color' => '#CCEEDD', 今回は水色
ラインの色
'lines_color' => '#CCEEDD',
背景色
'background_color' => '#888888' 今回は灰色

インスタンスの作成

Text_CAPTCHAでは直接インスタンスを作成することができません。
一旦factoryメソッドを使用してからそのあと初期化してインスタンスを作成します。
要するに、一次完成品をfactoryで作成して、そのあと内装や色をお化粧(インスタンス) するイメ-ジです。
$captcha = Text_CAPTCHA::factory('Image');
次にインスタンスを初期化します。
$captcha->init($option);
これでインスタンスは完成です。

画像に表示させた文字列の取得

getPhraseメソッドで、表示した文字列を取得します。
要するにパスワ-ドを取り込みます。
$phrase = $captcha->getPhrase();

画像のバイナリデータを取得

getCAPTCHAメソッドで、認証画像のバイナリデータを取得します。
$png = $captcha -> getCAPTCHA();
が正しい書式です。
$png = $captcha -> getCAPTCHAAsPNG();
と書いてある例が多いですが動きません。
どうも、Text_CAPTCHA-0.4.3 では動いていたようです。
最新版では動きません。

取得画像を保存

PHP関数file_put_contents()を使用して、指定された パスとファイル名でCAPTCHA画像を保存します。
file_put_contents('img/auth_img.png', $png);

認証画像とパスワ-ドを表示

echo"<img src='img/auth_img.png'>";
echo $phrase;
で、認証画像とその中に書かれている文字列を表示して終わりです。


画像認証基本ファイル動作確認 に進む
Pear 画像認証をサ-バにアップ に戻る

63Pear Villageに戻る