За последние 24 часа нас посетил 99531 программист и 6347 роботов. Сейчас ищут 1634 программиста ...

Не работает капча

Тема в разделе "PHP для новичков", создана пользователем Alexnaum, 15 окт 2018.

  1. Alexnaum

    Alexnaum Новичок

    С нами с:
    17 авг 2017
    Сообщения:
    30
    Симпатии:
    0
    Не могу понять в чем причина
    Не работает капча, точнее работает, но не отображается сайт https://fineri.ru/ при входе на сайт

    в логах пишет "Неверный ввод капчи при входе. Попытка входа с данными - , ip: , сессионная капча - 5r2, введённая капча -

    Код (Text):
    1. <?php
    2. header('Content-Type: image/png'); // даем браузеру понять, что это картинка (png)
    3. session_start(); // стартуем сессию (нужно для проверки ввода капчи)
    4.  
    5. $chars = array();
    6. $conside_registry = false; // учитывать регистр символов???
    7.  
    8. // шрифты, можно подключать свои, $font_random = true - если символы разным шрифтом
    9. $fonts = array('../static/fonts/comic.ttf'); // пути к шрифтам
    10. $font = $fonts[2];
    11. $font_random = true; // если true - каждый символ разным шрифтом из массива $fonts
    12.  
    13. // размер шрифта
    14. $font_size = 30;
    15.  
    16. // $symbols_random = true, если разное количество символов
    17. $symbols = 3; // количество символов
    18. $symbols_random = false;
    19. if ($symbols_random == true)
    20. {
    21. $symbols = mt_rand(1,10); // от 1 до 10 символов
    22. }
    23.  
    24. $width = $font_size * $symbols + 30; // автоподстройка ширины и высоты рисунка (размер шрифта * количество символов + 25px для отступов слева и справа)
    25. $height = $font_size + 20; // вычисляется как размер шрифта + 10 px отступ сверху и снизу
    26.  
    27. // случайный цвет символов - $text_color_random = true;
    28. $text_color_random = false;
    29.  
    30. // угол начертания символов, $angle_random = true; - случайным образом
    31. $angle = 0;
    32. $angle_random = true;
    33.  
    34. // алфавит - символы, генерирующиеся капчей
    35. $alphabet = array('a','A','b','B','c','C','d','D','e','E','f','F','h','H','i','I','j',
    36. 'J','k','K','m','M','n','N','p','P','r','R','s','S','t','T','u','U',
    37. 'v','V','w','W','z','Z','Y','y','2','3','4','5','6','7','8');
    38.  
    39. $img = imagecreate($width, $height);
    40.  
    41. // раскомментируйте, если градиент не нужен
    42. $bg = imagecolorallocate($img, 255, 255, 255); // цвет фона rgb
    43. if (true) // true - фон прозрачный
    44. {
    45. imageColorTransparent($img,$bg);
    46. }
    47.  
    48. for ($i=0; $i<$symbols;$i++) // начинаем генерацию
    49. {
    50. if ($font_random == true) // случайный шрифт
    51. {
    52. $font = $fonts[mt_rand(1,count($fonts)-1)]; // если true - используем rand()
    53. }
    54. if ($angle_random == true) // проверяем нужен случайный угол начертания или нет
    55. {
    56. $angle = mt_rand(0,45); // если да рандомим
    57. }
    58. if ($text_color_random == true) // проверка нужен ли случайный цвет символов, аналогично
    59. {
    60. $text_color = "";
    61. $text_color = imagecolorallocate($img, mt_rand(0,200), mt_rand(0,200), mt_rand(0,200));
    62. }
    63. else
    64. {
    65. $text_color = imagecolorallocate($img, 255, 255, 255); // если нет - черным цветом
    66. }
    67. $char = $alphabet[mt_rand(0,count($alphabet))]; // выбираем случаный символ из нашего алфавита
    68. if ($conside_registry == true) // проверяем, нужно ли учитывать регистр символов
    69. {
    70. $chars[] = $char;
    71. }
    72. else
    73. {
    74. $chars[] = strtolower($char); // если нет, переводим все символы в нижний регистр
    75. }
    76. imageTTFText($img, $font_size, $angle,$font_size*$i+30, ($height+$font_size)/2, $text_color, $font, $char); // рисуем символ на холсте
    77. }
    78.  
    79. $_SESSION['wu-cap'] = implode("",$chars); // передаем в сессию значение капчи для последующей проверки
    80. imagepng($img); // создаем изображение (png)
    81. imagedestroy($img);
    82. ?>
     
  2. Alexnaum

    Alexnaum Новичок

    С нами с:
    17 авг 2017
    Сообщения:
    30
    Симпатии:
    0
    Все решилось и работает, оказалось просто на хостинге нужно было изменить версию php на 5.6