お問合せなどでサイト管理者へメール送信等行う際に、スパム対策として画像認証させる方法です。(今回は「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
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
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」の使用方法については次回。
ではまた。