[решено] Не отображается капча

Доброго времени суток, столкнулся с такой проблемой — при регистрации не отображается капча, второй день не могу найти решение. Кто-нибудь сталкивался с таким?
P.S. Никаких изменений на сайте не делал, до этого работало все нормально

25 комментариев

0
Первым делом надо смотреть, а работает ли капча вообще. Т.е. клик правой кнопкой мыши по тому месту, где должна быть капча и «Открыть в новой вкладке», «Открыть изображение» или что-то в этом роде (в зависимости от браузера).

Если изображение в новом окне/вкладке отображается нормально, то почти наверняка проблема в том, что в конфиге адрес сайта явно задан с www, а юзер заходит без www или наоборот. Т.е. в конфиге, напр., стоит:
$config['path']['root']['url'] = 'http://www.site.com/';
А юзер заходит просто site.com (без www). И браузер блокирует запрос к другому домену.
0
Вот что отображает
0
Это когда изображение капчи напрямую пробуете открыть? А в логе какие-то ошибки есть?

Чтобы не мешать с другими ошибками (если они были), файл /_tmp/logs/error.log лучше удалить, еще раз попробовать посмотреть капчу, а потом посмотреть, нет ли ощибок в лог-файле
0
в журнале ошибок нет, а это появляется когда открываю напрямую
0
Скажите, это проявляется в Firefox? Расширение Скайп стоит?
0
В хроме, фаерфоксе, сафари на разных компах пробовал и с разными ос
0
Хм, странно это. А если просто набрать site.com/captcha/ (т.е. без параметра, без цифр в конце), то та же ошибка?
0


На другом сайте, на этом же хостинге все нормально
0
капчу можно как-то отключить? пока проблема не решиться? в конфиге не нашел
0
Вообще полного отключения капчи не предусмотрено, но можно вместо картинки подключить гугловскую реКапчу, плагин идет в комплекте с движком.

www.google.com/recaptcha/admin — здесь можно получить ключи для нее.

common/plugins/recaptcha/config/config.php — здесь задаются настройки
Отредактирован:
0
а каким образом ее потом подключить?
0
Просто активируется плагин recaptcha и все. Замена каптчи-картинки на гугловскую сама выполнится
0
У меня его нет, Alto CMS: 1.0.10.2. Где его скачать?
0
А, так это версия 1.0+? В этой версии плагин рекаптча не будет работать, она только для 1.1 (
Отредактирован:
0
Да 1.0+, два дня бьюсь не могу найти проблему((
Отредактирован:
0
Пытаюсь сообразить хотя бы чисто теоретически, где может быть проблема. Раз браузер пытается вывести изображение, то заголовок header(«Content-Type: image/jpeg») в браузер передается. После этого идет вывод самого изображения чисто пхп-шной функцией imagejpeg(). Там ломаться вообще нечему…
0
А для этого сайта нет индивидуальных настроек php? Для него расширение GD вообще доступно?
0
нет, на хостинге стоит два сайта на альто, на одном работает, на другом нет
Версия PHP: 5.3.10-1ubuntu3.18
Графика: GD: 2.0
Версия Smarty: Smarty-3.1.19
Версия Alto CMS: 1.0.10.2
Отредактирован:
0
Еще одна попытка: попробуйте в браузере набрать site.com/engine/libs/kcaptcha/ — будет картинка?
0
появилась!!)))
0
Значит, вероятнее всего, какие-то проблемы с сессиями. Теперь понять бы еще, какие…
0
каким образом это можно узнать?
0
Да вот пытаюсь сообразить. Можно попробовать так: в файле common/classes/actions/ActionCaptcha.class.php найти:
$oCaptcha = new KCAPTCHA();
$this->Session_Set('captcha_keystring', $oCaptcha->getKeyString());
И закомментировать строку:
$oCaptcha = new KCAPTCHA();
//$this->Session_Set('captcha_keystring', $oCaptcha->getKeyString());
После этого попробовать еще раз вернуться к началу и открыть изображение по адресу site.com/captcha/. Если картинка появится, значит, точно что-то неладное с сессией
0
не появилась
+1
Если кому интересно, то проблема была в том, что конфиг одного из плагинов был сохранен в формате «UTF-8 c BOM».

Казалось бы, при чем тут капча? Я понимаю это так: сайт работает на niginx + php-fpm. И при загрузке файлов конфига, загружался, кроме прочего, и этот файл с BOM, и эти злосчастные три байта улетали в выходной буфер сервера. А потом, при выводе сгенерированной движком капчи, они встраивались в бинарный изображения, ломая формат картинки.

Интересно то, что при работе с apache в подобных случаях возникают ошибки от того, что идет отправка заголовков функцией header(), в то время как уже пошел вывод клиенту. А вот nginx, видимо, работает иначе, BOM-коды буферизирует, но клиенту сразу не отправляет, поэтому ошибок явных при использовании header() не возникает.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.