私は数学でcaptchaを作ろうとしています。私は2つのランダム変数をとり、合計してユーザー入力とマッチさせます。しかし、私/ユーザーが送信ボタンをクリックすると、2つの変数の値が変化し、ユーザーの入力と一致しません。どうすればこの問題を解決できますか?なにか提案を ?数学を使ったCaptcha
<?php
$a = rand(1,9);
$b = rand(1,9);
$z = $a + $b;
if(isset($_POST["submit"])){
$captcha = $_POST['captcha'];
if ($captcha != $z){
echo $captcha." and ".$z;
}
else {
echo "true";
}
}
?>
<form class="form-horizontal" method="POST" action="">
<div class="input-group">
<span><?php echo $a."+".$b."= ?"; ?></span>
<input type="text" name="captcha">
</div>
<button name="submit">submit</button>
</form>
の使用方法についての詳細を読んだり、別のファイルにあなたのロジックを分離することができ –
使用[セッション](http://php.net/ manual/en/features.sessions.php)を使用して、同じユーザーによる後続のリクエストで使用するために生成した乱数を格納します。 –
これは簡単にボットに敗北した貧弱なCAPTCHAです –