例
以下の例では CAPTCHA の一般的な使用法を説明します。
CAPTCHA が正しく解決された場合にのみ、フォームから送信された内容を
処理します。
この例は、単純な算数の計算を Text_CAPTCHA_Numeral
で作成する方法を示すものです。
<?php
require_once 'Text/CAPTCHA/Numeral.php';
$num = new Text_CAPTCHA_Numeral;
$operation = $num->getOperation();
/**
* これは、パッケージが作成した計算式を表示します。
*/
print $operation;
?>
数字の CAPTCHA を使用してフォームのセキュリティを確保する
この例では、数字の CAPTCHA を使用してフォームのセキュリティを確保する方法を示します。
作成した計算式を、セッション変数に格納しています。
<?php
require_once 'Text/CAPTCHA/Numeral.php';
$numcap = new Text_CAPTCHA_Numeral;
if (isset($_POST['captcha']) && isset($_SESSION['answer'])) {
if ($_POST['captcha'] == $_SESSION['answer']) {
$errors[] = 'Ok... おそらくあなたは人間ですね..';
} else {
$errors[] = 'あなたは間抜けか人間じゃないかのどちらかですね';
}
}
if (!empty($errors)) {
foreach ($errors as $error) {
print "<h1><font color='red'>$error</font></h1><br />";
}
}
print '
<form name="capter" action="index.php?page=liveExample" method="post">
<table>
<tr>
<th>お客さん、この答えは何ですか?: '.$numcap->getOperation().'</th>
<td><input type="text" value="" name="captcha" /></td>
</tr>
<tr>
<th/>
<td><input type="submit" value="私が人間であることを証明します!" /></td>
</tr>
</form>
';
$_SESSION['answer'] = $numcap->getAnswer();
?>