Перейти к содержанию
Nemirov

[Решено] Ошибка google recaptcha при оформлении заказа без регистрации

Рекомендуемые сообщения

Обнаружил проблему после подключения google recaptcha, при оформлении заказа без регистрации (либо при регистрации из корзины при оформлении заказа), после ввода 

Профиль & Платежная информация, и нажатия на кнопку "продолжить" вылетает ошибка, (скрин приложил),

в логе

2016-03-27 20:00:01 - PHP Notice: Undefined index: g-recaptcha-response in /var/www/u0171317/data/www/nemirov.net/catalog/controller/captcha/google_captcha.php on line 32

 

а вот и сам файл google_captcha.php

 

class ControllerCaptchaGoogleCaptcha extends Controller {
public function index($error = array()) {
$this->load->language('captcha/google_captcha');

$data['heading_title'] = $this->language->get('heading_title');

$data['entry_captcha'] = $this->language->get('entry_captcha');

$this->document->addScript('https://www.google.com/recaptcha/api.js');

if (isset($error['captcha'])) {
$data['error_captcha'] = $error['captcha'];
} else {
$data['error_captcha'] = '';
}

$data['site_key'] = $this->config->get('google_captcha_key');

$data['route'] = $this->request->get['route'];

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/captcha/google_captcha.tpl')) {
return $this->load->view($this->config->get('config_template') . '/template/captcha/google_captcha.tpl', $data);
} else {
return $this->load->view('default/template/captcha/google_captcha.tpl', $data);
}
}

public function validate() {
$this->load->language('captcha/google_captcha');

$recaptcha = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($this->config->get('google_captcha_secret')) . '&response=' . $this->request->post['g-recaptcha-response'] . '&remoteip=' . $this->request->server['REMOTE_ADDR']);

$recaptcha = json_decode($recaptcha, true);

if (!$recaptcha['success']) {
return $this->language->get('error_captcha');
}
}
}

 

 

А вот собственно и ссылка

 

Если кто то сталкивался с такой ошибкой, просьба откликнуться

post-707859-0-39987800-1459098376_thumb.png

Изменено пользователем Nemirov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Версия движка 2.1.0.2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Том спасибо тебе снова огромное.

И собственно решение Tom уже опубликовал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока было всё в порядке с каптчей и тут сегодня случайно заметил, что кнопка каптчи (например на странице регистрации) вообще не показывается. Проверил настройки, везде включено (переключал на простую - работает).

Далее посмотрел в отладчике браузера и тут оба: "https://www.gstatic.com/recaptcha/api2/r20160425122911/recaptcha__ru.js net::ERR_BAD_SSL_CLIENT_AUTH_CERT" - не загружает скриптик, почему? И в логах слова есть ошибки, что не определён индекс "g-recaptcha-response". Что делать? OC 2.2.0.0

Благодарю заранее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Столкнулся с аналогичной фигней = руганью на неопределенную переменную касательно рекаптчи

 

И нашел на форуме Опенкарта что в коде есть опечатка, в слове gcapcha пропущена буква t

 

ПРИЧЕМ ДВАЖДЫ

 

Идем в catalog\controller\extension\captcha\google_captcha.php

 

Находим там такую строчку: (у меня она была 24й)

 

if (empty($this->session->data['gcapcha'])) {

 

и меняем на правильное написание переменной, с буквой t - вот так:

 

if (empty($this->session->data['gcaptcha'])) {

 

И еще ниже (у меня в 32й строчке), тоже была пропущена буква t

 

$this->session->data['gcaptcha']    = true;

 

Надеюсь что кому-то тоже поможет.

 

Изменено пользователем VadimOd
добавил про 2ю опечатку
  • +1 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От ironzorin2
      Мой сайт DOSят помаленьку: с десяток запросов в минуту с разных адресов. 
      Возможно ли встроить в форму поиска reCAPTCHA?
      В результате на хостинге повышается нагрузка на CPU. 
    • От ashap
      350.00 руб
      Скачать/Купить дополнение


      Recaptcha для админ панели
      Admin Recaptcha
      Позволяет усилить защиту админ панели от перебора паролей роботами.



      Версия для магазинов 2.3 по ссылке
       
      Смотрите также другие модули по ссылке
      Добавил ashap Добавлено 01.09.2015 Категория Модули Системные требования Сайт разработчика https://store.pe-art.ru/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1
      1.5.3.1 ocStore 2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1 OpenCart.Pro, ocShop Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
    • От Dragon
      Скачать/Купить дополнение


      Google reCAPTCHA v2 для ocStore 1.5.5x (Мануал + vqMod)
      Модуль меняет стандартную устаревшую капчу в отзывах на современную reCaptcha v2 от Google.
      Достаточно поставить галочку "Я не робот" чтобы отправить отзыв. Если же гугл сомневается в том что вы человек - придется выбрать пару картинок.
      Начиная с OpenCart 2.0.2 Google reCaptcha установлена как каптча по-умолчанию. Данный модуль - адаптация версии 2.0 на 1.5.5x.
      Модуль тестировался на версии 1.5.5.1.2 на стандартном шаблоне.
      В архиве мануал для ручной установки на любой шаблон.
      Если была установлена предыдущая версия через vqmod, то необходимо удалить vqmod_google_recaptcha2.xml и залить vqmod_google_recaptcha2_full.xml
      Для работы модуля необходимо добавить домен на сайте https://www.google.com/recaptcha/intro/index.html
      и указать полученные site key и secret key в Система -> Настройки -> Сервер -> Google reCaptcha
      Добавил Dragon Добавлено 16.07.2015 Категория Прочее  
    • От ashap
      750.00 руб
      Скачать/Купить дополнение


      Recaptcha для админ панели (oc 2.3)
      Admin Recaptcha для oc2.3
      Позволяет усилить защиту админ панели от перебора паролей роботами.


      Версия для магазинов 1.5, 2.0, 2.1 по ссылке
       
      Смотрите также другие модули по ссылке
      Добавил ashap Добавлено 14.10.2017 Категория Модули Системные требования Сайт разработчика https://store.pe-art.ru/ Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3  
    • От Nannco
      Добрый день подскажите выдаёт ошибку reCAPTCHA - в чем может быть причина?
       
      В дополнения - капча - включил reCAPTCHA - и ввел ключ и секретный ключ.
      После этого зашёл в - система - настройки - опции и в самом низу выбрал reCAPTCHA и отображать в "контактах"
       
      После того как в контактах заполняешь все поля Имя, Эмейл и Сообщения - проходишь проверку reCAPTCHA и она успешная. 
       
      Но после нажатия кнопки отправить сообщения получаю ошибку:
       
      Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /hsphere/local/home/......./......./catalog/controller/extension/captcha/google_captcha.php on line 29Warning: file_get_contents(): Failed to enable crypto in /hsphere/local/home/......./......./catalog/controller/extension/captcha/google_captcha.php on line 29Warning: file_get_contents(https://www.google.com/recaptcha/api/siteverify?secret=Секретный...ключ&response=03ANcjosqP-kwfa0nfOY50CUdpibR6sJmlts-m-jIQCjt7CRVCzKpMsyFr-_kKQk9OzHwwtzky-aBg6Rt5r4l0q2e4g5YRk_9lKxvIhzbhh9KlB9y0drz3fglRS5w1pliWtgAqVDTjmN511xnjGyCq2YJv1UMVJL13y5APMwqoPOZMlyqpajvdKvwd2kYCjpAKJOyH2wpMXVkt78hIZhhdJeJi4Aj3DIie1-MEsxIzJ-9jF5bB-KK35-5S612BYNcvBQmANMPg4KI809I7SkiCSU1asitz8js_aeU3np9iLVTvnaMfke2Ksp3mGWA-g_BFyby9hj-SntUpkkpviOhb7e_XYI1c9Tki-i3LkNv4L6rIRB02rwYWVN9pXp5ATUCH8742ESdvZ0ODMx0GFFiIZoZdegKfgzUrkWPEf2VpiQA246TRbfkPypTmK-Mp1JNqEf2Ojn48hfecRoPSkWdzs_drubEkLiFOkMuPZn54gIryJmayOYLXZw3eWhLULsqiQFPFr9dFcJW47iCOV8QjelinqkrM02JhcA&remoteip=57.58.229.233): failed to open stream: operation failed in /hsphere/local/home/hazard/pixel.net.ua/catalog/controller/extension/captcha/google_captcha.php on line 29  
      Нашёл эту строку №29 она выглядит так:
       
      $recaptcha = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($this->config->get('google_captcha_secret')) . '&response=' . $this->request->post['g-recaptcha-response'] . '&remoteip=' . $this->request->server['REMOTE_ADDR']);  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.