Captcha битрикс не работает

Проблемы с CAPTCHA

Цитата
Слава пишет:
Всем доброго времени суток! Столкнулся с необычной проблемой. Захотел добавить на форму CAPTCHA, для избавления, так сказать, от ненужной информации. Но оказалось не все так просто. Захожу в «Настройка параметров» формы, ставлю галочку «Использовать CAPTCHA» и жму кнопку «Сохранить». Но капча не появляется и в настройках формы галочка остается неотмеченной.

Read less, more TV

Цитата
Слава пишет:
Посмотрел phpinfo(), там написано чето вроде This server is protected with the Suhosin Patch 0.9.6.2. Это случайно не оно? И еще одно. Почему все другие настройки сохраняются?

Для корректной работы сайта его надо перевести в режим эмуляции. Это делается директивой:

Цитата
php_value suhosin.simulation On

в файле «.htaccess» в корне сайта.
Если у Вас не получится его отключить, пожалуйста обратитесь к хостеру с данной просьбой.

После переключения модуля в данный режим проблем с сохранением не должна наблюдаться.

Источник

Не отображается каптча при авторизации в админке!

Пытаюсь зайти в админку, ввожу логин и пароль выдает, что не верно и просит ввести по новой с каптчей, но каптча не отображает картинку с символами для ввода.

права на папку и файл выставил 755 — bitrix/tools/captcha.php

Далее, в файле init.php:

IsAdmin()) <
$bt = debug_backtrace();
$bt = $bt[0];
$dRoot = $_SERVER[«DOCUMENT_ROOT»];
$dRoot = str_replace(«/», «\\», $dRoot);
$bt[«file»] = str_replace($dRoot, «», $bt[«file»]);
$dRoot = str_replace(«\\», «/», $dRoot);
$bt[«file»] = str_replace($dRoot, «», $bt[«file»]);
?>

IsAdmin()) <
$dump=»»;
$files = $_SERVER[«DOCUMENT_ROOT»].»/_dump.html»;
$fp = fopen( $files, «a+» );
fwrite( $fp, $dump);
fclose( $fp );
if ($die) die();
>
>

/**
* Функция выводит отладочную информацию (замена pre+print_r+pre) на экран
*
* @param any $obj — объект, значение которого выводт
* @param boolean $admOnly — функци¤ доступна только администартору
* @param boolean $die — остановить выполнение скрипта
* @return boolean
*/
function p($obj,$admOnly=true,$d=false)
<
global $USER;

if($USER->IsAdmin() || $admOnly===false)
<
echo «»;

в конце ставил закрывающий символ кода, НЕ СРАБОТАЛО!

вобще удаляю файл init.php, никакого эффекта!

чистил кэш bitrix/cache/

Библиотека FREE TYPE — присутствует и работает!

в базе таблица b_captcha не битая! даже сделал восстановление на всякий, все равно не работает каптча!

Кто, что может подсказать в чем может быть проблема и как быть дальше?

Источник

Отсутствие изображений каптчи (CAPTHA) в битриксе.

На днях возникла проблема с отображением CAPTCHA

Начал разбирать ситуацию. Проблем с правами и доступом к разделу /bitrix/tools/ не было.

Далее в процессе поиска решения, натыкался на статьи, которые говорили об открывающих и закрывающих тегах php в служебных файлах.

Скорее всего проблема может быть и там, но в моем случае она заключалась в другом, хотя я и проверил предыдущие рекомендации.

Один из интернет-пользователей aVadim описал ситуацию следующим образом:

«Если кому интересно, то проблема была в том, что конфиг одного из плагинов был сохранен в формате «UTF-8 c BOM».
Казалось бы, при чем тут капча? Я понимаю это так: сайт работает на niginx + php-fpm. И при загрузке файлов конфига, загружался, кроме прочего, и этот файл с BOM, и эти злосчастные три байта улетали в выходной буфер сервера. А потом, при выводе сгенерированной движком капчи, они встраивались в бинарный изображения, ломая формат картинки.
Интересно то, что при работе с apache в подобных случаях возникают ошибки от того, что идет отправка заголовков функцией header(), в то время как уже пошел вывод клиенту. А вот nginx, видимо, работает иначе, BOM-коды буферизирует, но клиенту сразу не отправляет, поэтому ошибок явных при использовании header() не возникает.»

Благодарен за решение, потому как именно пересохранение файлов /bitrix/php_interface/dbconn.php, /bitrix/php_interface/after_connect_d7.php, и /bitrix/php_interface/after_connect.php в формате UTF-8 без BOM решило мою проблему.

Успехов вам и быстрых поисков возникших проблем!

Источник

Сломалась CAPTCHA

Цитата
Михаил Митрофанов пишет:
уже третий дан по телепатии smile8)
Цитата
Михаил Митрофанов пишет:
уже третий дан по телепатии

Цитата
alenka пишет:
только капча не работает? А графики веб-аналитики строятся?
Цитата
Михаил Митрофанов пишет:
Цитата
alenka пишет:

только капча не работает? А графики веб-аналитики строятся?

constanta.dn.ua
модуля веб-аналитики у нас нет. редакция — «малый бизнес»

попробовала поменять капчи через панель администрирования. не работала капча «волна», кот. работала со шрифтом bitrix_captcha.ttf. с font.ttf — все ок.

но как-то через раз. вот «негатив» использует второй тип шрифта — но тоже или вобще не отображается, или 1-2 символа.

произошло это после смены хостинга.

alenka, похоже у вас на сайте изменен сам механизм генерации капчи, это видно по 4-м символам вместо 5, только до ума её так и не довели.

Можете показать код файла /bitrix/tools/captcha.php?

я думаю, что тут прав где-то для чего-то не хватает.

Источник

Как заставить работать CAPTCHA в собственном скрипте?

/* я чайник, так что сорри */

Пытаюсь в свой скрипт вставить использование капчи в соответствии с документацией ( вот ссылка на доку ).

При обращении к странице с формой, битрикс ругается на строчку (см пример по ссылке выше)
if(!strlen($err)>0):

В чем ее сакральный смысл и почему после «:» ничего нет?

после if(): должно идти как минимум endif

этот код не относится к официальной документации, он относится к пользовательским комментариям, на что компания официально заявляется: «Пользовательские комментарии не являются официальной документацией. Ответственность за их использование несет сам пользователь.»

я бы описал пример так:

Только вот с обработчиком ошибок проблема — как сделать, чтобы форма осталась на экране, но с сообщением об ошибке?

Вы имеете в виду выводить форму только когда ошибка, и прятать её когда правильно введен Captcha?

есть множество вариантов расширить функционал этого простого примера, отличаются только оптимальностью решения и красотой исполнения.

инициируйте переменную $error как в примере с которого вы начали, добавляйте текст ошибки в случаи ошибок, и выводите форму только если длина строки в этой переменной более 0 или если не был выполнен post запрос (это если первый раз открываете страницу)

Но поведение результата немного странное. Я настроил проверку аяксом, т.е. вводим символы, выводим фокус из поля, пошла обработка на сервере. вернулся результат:
— при неправильном вводе выдается сообщение об ошибке (все норм),
— при первом правильном вводе — сообщение ОК (все норм),
— при следующем неправильном — сообщение об ошибке (все норм),
— если же снова ввести правильные цифры — сообщение об успешной проверке больше не приходит .

Чем можно объяснить данный результат? Есть подозрения, что ф-я CaptchaCheckCode() после успешной проверки уничтожает только что проверенный правильный результат.

Цитата
Евгений Полозов пишет:
Есть подозрения, что ф-я CaptchaCheckCode() после успешной проверки уничтожает только что проверенный правильный результат.

ну это вроде и логично, нужно чтобы можно было только один раз ввести и проверить один и тот же код, в этом то и суть защиты. вы получили положительный результат после проверки, зафиксировали в какой-то переменной или выполнили какое-то условие, и все, данные удаляются из базы.

обычно при использовании ajax при неправильном выборе области которая обновляется очень часто дублируются формы в формах, ихние значение и id. проверьте принимает ли ваш обработчик именно те значения кода которые вы вводите в форме.

Источник

Читайте также:  Не работает главный цилиндр сцепления уаз буханка
Оцените статью