Капча
- function capcha($hard) {
- switch($hard){
- case 2:
- $num = range(10, 99);
- $first = mt_rand(0,88);
- $second = mt_rand(0,88);
- $len = 68;
- $size = 6;
- break;
- case 3:
- $num = range(100, 999);
- $first = mt_rand(0,898);
- $second = mt_rand(0,898);
- $len = 86;
- $size = 8;
- break;
- default:
- $num = range(1, 9);
- $first = mt_rand(0,8);
- $second = mt_rand(0,8);
- $len = 50;
- $size = 4;
- break;
- };
- $sum = $num[$first] + $num[$second];
- $_SESSION['capcha'] = $sum;
- $img = $num[$first] . ' + ' . $num[$second];
- if (function_exists('imagecreatetruecolor') && function_exists('imagecolorallocate')) {
- $im = imagecreatetruecolor($len, 20);
- $text_color = imagecolorallocate($im, 255, 255, 255);
- imagestring($im, 5, 4, 2, $img, $text_color);
- imagejpeg($im, 'capcha.jpg', 85);
- imagedestroy($im);
- return '<img src="capcha.jpg" alt="' . $sum . '"/> = <input type="text" size="' . $size . '" name="capcha"/><br/>';
- } else {
- return $img . ' = <input type="text" size="' . $size . '" name="capcha"/><br/>';
- }
- }
простая капча , более защита от криворуких пользователей чем от роботов
пример работы
вставляем в форму перед кнопкой отправки
проверяем
if ($_POST['capcha'] != $_SESSION['capcha']) { /../ косяк /../ }
unset($_SESSION['capcha']); // если это не дописать, то по кнопке назад можно дубликат отправить
пример работы
вставляем в форму перед кнопкой отправки
проверяем
if ($_POST['capcha'] != $_SESSION['capcha']) { /../ косяк /../ }
unset($_SESSION['capcha']); // если это не дописать, то по кнопке назад можно дубликат отправить