Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Перестала работать Капча в отзывах.


Recommended Posts

Всем привет. Перестала работать Капча в отзывах. интернет магазин тодокс (www.todoks.com) кто компитентен в данном вопросе. с какого момента не работает даже сказать не могу. заметил сам только сегодня.

Надіслати
Поділитися на інших сайтах


эта ссылка мне ни чем ровно не помогла. но всё равно спасибо за ответ. ещё варианты решения проблемы  будут?

 

Может стоит хотябы приложить логи ошибок? (http://todoks.com/index.php?route=product/product/captcha)

Надіслати
Поділитися на інших сайтах


Может стоит хотябы приложить логи ошибок? (http://todoks.com/index.php?route=product/product/captcha)

 

2014-07-01 13:50:30 - PHP Warning:  set_time_limit() has been disabled for security reasons in /home/jr1.ru/vasdom/sites/todoks.com/www/admin/controller/extension/vk_export.php on line 685

2014-07-01 14:05:37 - PHP Warning:  set_time_limit() has been disabled for security reasons in /home/jr1.ru/vasdom/sites/todoks.com/www/admin/controller/extension/vk_export.php on line 685

2014-07-05 12:34:32 - PHP Warning:  set_time_limit() has been disabled for security reasons in /home/jr1.ru/vasdom/sites/todoks.com/www/admin/controller/extension/vk_export.php on line 184

2014-07-05 12:34:50 - PHP Warning:  set_time_limit() has been disabled for security reasons in /home/jr1.ru/vasdom/sites/todoks.com/www/admin/controller/extension/vk_export.php on line 685

 

больше нету ничего

Надіслати
Поділитися на інших сайтах


Просить хостера включить set_time_limit (это модуль экспорта вконтакте шалит)

Но это не проблема каптчи, значит что-то другое.

Какие-нибудь модули устанавливали через vqmod? или ручками?

Надіслати
Поділитися на інших сайтах


идем сюда

system\library\captcha.php

находим
 

header('Content-type: image/jpeg');

Комментируем

//        header('Content-type: image/jpeg');

Смотри что покажет.

Надіслати
Поділитися на інших сайтах

идем сюда

system\library\captcha.php

находим

 

header('Content-type: image/jpeg');
Комментируем

//        header('Content-type: image/jpeg');
Смотри что покажет.

 

 

сделал всё как посоветовали результата нет.

 

<?php

class Captcha {

    protected $code;

    protected $width = 35;

    protected $height = 150;

    function __construct() {

        $this->code = substr(sha1(mt_rand()), 17, 6);

    }

    function getCode(){

        return $this->code;

    }

    function showImage() {

        $image = imagecreatetruecolor($this->height, $this->width);

        $width = imagesx($image);

        $height = imagesy($image);

        

        $black = imagecolorallocate($image, 0, 0, 0);

        $white = imagecolorallocate($image, 255, 255, 255);

        $red = imagecolorallocatealpha($image, 255, 0, 0, 75);

        $green = imagecolorallocatealpha($image, 0, 255, 0, 75);

        $blue = imagecolorallocatealpha($image, 0, 0, 255, 75);

         

        imagefilledrectangle($image, 0, 0, $width, $height, $white);

         

        imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $red);

        imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $green);

        imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $blue);

        imagefilledrectangle($image, 0, 0, $width, 0, $black);

        imagefilledrectangle($image, $width - 1, 0, $width - 1, $height - 1, $black);

        imagefilledrectangle($image, 0, 0, 0, $height - 1, $black);

        imagefilledrectangle($image, 0, $height - 1, $width, $height - 1, $black);

         

        imagestring($image, 10, intval(($width - (strlen($this->code) * 9)) / 2),  intval(($height - 15) / 2), $this->code, $black);

    

        // header ('Content-type: image/jpeg');

        

        imagejpeg($image);

        

        imagedestroy($image);        

    }

}

?>

Надіслати
Поділитися на інших сайтах


Все ясно...

Смотреть кодировки файлов

Совет...

Найти софтинку, которая массово делает конвертацию файлов в UTF-8 без BOM

и будет счастье.

Надіслати
Поділитися на інших сайтах

ну... ок...

 

чтобы вывести капчу нужно три файла

 

Контроллер product.php

 

сохранить в utf-8 без bom

 

начните с него

 

да... и верните //        header('Content-type: image/jpeg'); назад

Надіслати
Поділитися на інших сайтах

Помогло

 

Файл system/library/captcha.php
Было:
function __construct() {
$this->code = substr(sha1(mt_rand()), 17, 6);
}

 

Стало:
function __construct() {
$this->code = substr(sha1(mt_rand()), 17, 6);
$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $input);
ob_end_clean();
}

Сразу всё заработало. Спасибо Всем за советы.

Надіслати
Поділитися на інших сайтах


И это работает?

 

Не верю!

 

 

во первых это не должно быть в конструкторе

 

а в методе 

function getCode()

И нет никаких ошибок?

 

может расскажете что это за переменная  $input

function getCode(){
$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $this->code);
ob_end_clean();

    return $out;
}

Такой код я еще понимаю...

Надіслати
Поділитися на інших сайтах

Действительно правильно, Ваше замечание, хотя всё это работало визуально в логе была ошибка. сделал как посоветовали вроде то же работает и без ошибок. Спасибо!

Извиняюсь перед теми кого ввёл в заблуждение.

Надіслати
Поділитися на інших сайтах


  • 1 year later...

У меня тоже перестала капча работать, НО!!!

function getCode(){
$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $this->code);
ob_end_clean();

return $out;
}

не работает, а вот

function __construct() {
$this->code = substr(sha1(mt_rand()), 17, 6);
$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $input);
ob_end_clean();
}

Работает

Надіслати
Поділитися на інших сайтах

У меня тоже перестала капча работать, НО!!!

function getCode(){
$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $this->code);
ob_end_clean();

return $out;
}

не работает, а вот

function __construct() {
$this->code = substr(sha1(mt_rand()), 17, 6);
$out = ob_get_contents();
$out = str_replace(array("\n", "\r", "\t", " "), "", $input);
ob_end_clean();
}

Работает

 

Это костыли, которые проблему не решают

Все равно "мусор" (забытый перевод каретки, пробел, или notice)  выплывет в другом модуле

Сегодня наблюдал у пользователя как из-за notice перестала работать каптча.

Надіслати
Поділитися на інших сайтах

  • 2 months later...

а если нет файла system/library/captcha.php? почему то в дистрибутиве тоже его не вижу..basic captcha же вшита в ocStore 2.1.0.2? или отдельно надо доустановить еще что-то7?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.