Капча

  1. function capcha($hard) {
  2.   switch($hard){
  3.     case 2:
  4.       $num = range(10, 99);
  5.       $first = mt_rand(0,88);
  6.       $second = mt_rand(0,88);
  7.       $len = 68;
  8.       $size = 6;
  9.       break;
  10.     case 3:
  11.       $num = range(100, 999);
  12.       $first = mt_rand(0,898);
  13.       $second = mt_rand(0,898);
  14.       $len = 86;
  15.       $size = 8;
  16.       break;
  17.     default:
  18.       $num = range(1, 9);
  19.       $first = mt_rand(0,8);
  20.       $second = mt_rand(0,8);
  21.       $len = 50;
  22.       $size = 4;
  23.       break;
  24.   };
  25.   $sum = $num[$first] + $num[$second];
  26.   $_SESSION['capcha'] = $sum;
  27.   $img = $num[$first] . ' + ' . $num[$second];
  28.   if (function_exists('imagecreatetruecolor') && function_exists('imagecolorallocate')) {
  29.     $im = imagecreatetruecolor($len, 20);
  30.     $text_color = imagecolorallocate($im, 255, 255, 255);
  31.     imagestring($im, 5, 4, 2, $img, $text_color);
  32.     imagejpeg($im, 'capcha.jpg', 85);
  33.     imagedestroy($im);
  34.     return '<img src="capcha.jpg" alt="' . $sum . '"/> = <input type="text" size="' . $size . '" name="capcha"/><br/>';
  35.   } else {
  36.     return $img . ' = <input type="text" size="' . $size . '" name="capcha"/><br/>';
  37.   }
  38. }
простая капча , более защита от криворуких пользователей чем от роботов
пример работы
вставляем в форму перед кнопкой отправки
проверяем
if ($_POST['capcha'] != $_SESSION['capcha']) { /../ косяк /../ }
unset($_SESSION['capcha']); // если это не дописать, то по кнопке назад можно дубликат отправить

Реклама

Мы в соцсетях

tw tg yt gt