mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Windows - 画像認証「Text_CAPTCHA」インストール!

[ webサイト ] [ Windows, スパム対策 ]

こんばんは。

お問合せなどでサイト管理者へメール送信等行う際に、スパム対策として画像認証させる方法です。(今回は「WindowsXP編」) 簡単に言うと、画像認証とは文字入りの画像を人間が判断して入力しOKなら認証させる、というものです。 文字が画像になっているので、コンピュータには認識が多少(?)は困難です。

画像認証には通常「Captcha」というPearパッケージを使用します。 「Captcha」には色々と種類があるようですが、中でもおそらく一番オーソドックスであろう「Text_CAPTCHA」を使用してみます。 ※認証用画像にカタカタやひらがなを使用するもの、簡単な計算をさせるものなどもあるようです。 さらには、画像認証ではなく音声認証させるものもあるようです。

作業記録

【前提条件】

  • OSはWindowsXP(SP3)
  • WebサーバはApache2.2
  • PHPは5.2.14

※上記に類似な環境ならOKだと思いますが、PHPのバージョンによってはPearがインストールできないバグがあるようなので注意! 当方もPHP5.2.12ではPearのインストールができませんでした。

1.Pearのインストール

PHPインストールディレクトリ(当方は「C:\php」)の中にある「go-pear.bat」をダブルクリックもしくはコマンドプロンプトから実行する。 途中の問いにはすべてエンターで応答する。 ※バッチファイルの実行の代わりに以下を実行してもOK。 (バッチファイルは以下のことをしているだけです)

1
C:\php>php -d output_buffering=0 PEAR\go-pear.phar

2.「php.ini」の設定

「php.ini」の「include_path」に「;C:\php\PEAR」を追加する。

1
include_path = ".;C:\php\includes;C:\php\PEAR"

3.「Text_CAPTCHA」のインストール

画像認証パッケージ「Text_CAPTCHA」をインストールします。 コマンドプロンプトで以下のようにして実行すると、

1
2
3
4
5
C:\php>pear install Text_CAPTCHA
Failed to download pear/Text_CAPTCHA within preferred state "stable", latest rel
ease is version 0.4.0, stability "alpha", use "channel://pear.php.net/Text_CAPTC
HA-0.4.0" to install
install failed

とエラーとなるのでこのエラーメッセージのとおり、以下のようにする。

1
C:\php>pear install channel://pear.php.net/Text_CAPTCHA-0.4.0

以下でインストールされたか確認する。

1
2
3
4
5
6
7
8
9
10
11
12
C:\php>pear list
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE          VERSION STATE
Archive_Tar      1.3.3   stable
Console_Getopt   1.2.3   stable
PEAR             1.9.0   stable
Structures_Graph 1.0.2   stable
Text_CAPTCHA     0.4.0   alpha  ← インストールされている
Text_Figlet      1.0.2   stable
Text_Password    1.1.1   stable
XML_Util         1.2.1   stable

4.「Image_Text」のインストール

画像形式での高度なテキスト操作を実現する「Image_Text」をインストールします。 コマンドプロンプトで以下のようにして実行すると、

1
2
3
4
5
C:\php>pear install Image_Text
Failed to download pear/Image_Text within preferred state "stable", latest relea
se is version 0.6.0beta, stability "beta", use "channel://pear.php.net/Image_Tex
t-0.6.0beta" to install
install failed

とエラーとなるのでこのエラーメッセージのとおり、以下のようにする。

1
C:\php>pear install channel://pear.php.net/Image_Text-0.6.0beta

以下でインストールされたか確認する。

1
2
3
4
5
6
7
8
9
10
11
12
13
C:\php>pear list
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE          VERSION   STATE
Archive_Tar      1.3.3     stable
Console_Getopt   1.2.3     stable
Image_Text       0.6.0beta beta  ← インストールされている
PEAR             1.9.0     stable
Structures_Graph 1.0.2     stable
Text_CAPTCHA     0.4.0     alpha
Text_Figlet      1.0.2     stable
Text_Password    1.1.1     stable
XML_Util         1.2.1     stable

今回はここまで。 「Text_CAPTCHA」の使用方法については次回。

ではまた。

Comments