Basic captcha opencart что это
Перейти к содержимому

Basic captcha opencart что это

  • автор:

Basic captcha opencart что это

Есть 2 типа установки: «Установка расширений», если файл модуля является архивом с окончанием в названии ocmod.zip или «Через FTP (менеджер файлов)» когда это простой архив с файлами.

Установка Ocmod
  • 1 Скачайте файл модуля. Платные дополнения можно скачать в личном кабинете только после оплаты.
  • 2 В админ-панеле вашего сайта перейдите в «Расширения» -> «Установка расширений», или «Модули» -> «Установка модификаторов» и нажмите кнопку «Загрузить»;
  • 3 Выберите скачанный файл и нажмите «Продолжить», ожидайте появление надписи — «Успешно установлено»;
  • 4 Затем перейдите в «Менеджер дополнений», либо «Модификаторы» и нажмите кнопку «Обновить» (синяя, в правом верхнем углу). А также выдайте права администратора для модуля (ниже написано как это сделать).
Установка через FTP
  • 1 Скачайте файл модуля. Платные дополнения можно скачать в личном кабинете только после оплаты;
  • 2 Загрузите файлы через менеджер файлов в корень сайта. Как правило, в архиве есть файлы для разных версий PHP и версии OC (вам нужно правильно выбрать свой вариант);
  • 3 Затем перейдите в «Менеджер дополнений», либо «Модификаторы» и нажмите кнопку «Обновить» (синяя, в правом верхнем углу). А также выдайте права администратора для модуля (ниже написано как это сделать).

После установки любого модуля, перейдите в раздел «Система» -> «Группы пользователей» -> «Administrator», снимите все галочки и поставьте их обратно, нажав на кнопку «Выделить все» на полях просмотра и изменения.

Переходите в нашу группу в Telegram!

Наше сообщество из опытных и рядовых пользователей поможет решить любые трудности 🙂

Случайные модули

Обновите страницу что бы увидеть другие модули

Задать вопрос о товаре (Вопрос-Ответ)

Задать вопрос о товаре (Вопрос-Ответ) Практически на всех популярных интернет-магазинах общение с клиентами разделилось на 2 стороны, это ..

помогите Добавление captcha на вход в админку

нужно добавить basic captcha на страницу входа в админку, чтобы не брутфорсили вход. Попытался подсмотреть как это работает на странице контакта, но так и не смог заставить работать.

ALarik
expert

Ждал этот вопрос, и теперь поднесу к нему вот такой вот мануал:
Чтобы ответить на вопрос: «Как установить recaptcha на вход в админку opencart ?» первым делом необходимо установить настройки самой каптчи в настройках тут:

google recaptcha opencart

настроив единожды, мы получаем рабочий базовый конфиг, с которым можем работать дальше.
Открываем файл: admin/controller/common/login.php и добавляем перед строкой:

$data['ipper'] = false;

вот такой вот код:

$this->document->addScript('https://www.google.com/recaptcha/api.js'); $data['site_key'] = $this->config->get('captcha_google_key');

и перед стандартной ошибкой логина, добавим вывод ошибки с ГР, находим строку:

if (isset($this->error['warning'])) 

и перед этой строкой, добавляем:

 if (isset($this->error['captcha'])) < $data['error_captcha'] = $this->error['captcha']; > else

теперь чуть ниже, в методе validate этого же файла находим строку:

return !$this->error;

и ПЕРЕД ней, добавляем вот такой вот код:

 if ($this->config->get('captcha_google_status')) < $this->load->language('extension/captcha/google_captcha'); $recaptcha = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($this->config->get('captcha_google_secret')) . '&response=' . $this->request->post['g-recaptcha-response'] . '&remoteip=' . $this->request->server['REMOTE_ADDR']); $recaptcha = json_decode($recaptcha, true); if ($recaptcha['success']) < $this->session->data['gcapcha'] = true; > else < $this->error['captcha'] = $this->language->get('error_captcha'); > >

Контроллер готов, сохраняем и добавляем языковую переменную (выбираем нужный язык: en-gb, ru-ru, uk-ua или свой) в файл:
admin/language/YOUR_LANG/common/login.php после строки коммента:

// Error

переменную с ошибкой для АНГЛ:

$_['error_captcha'] = 'Security error, please try again';
$_['error_captcha'] = 'Помилка безпеки, спробуйте ще раз';
$_['error_captcha'] = 'Ошибка безопасности, попробуйте ещё раз';

С языками все, надеюсь разобрались, если нет - коментируем, распишу детальней!
Далее, идём к файлу, который у нас в брокарте подменился от стандартного логина:
admin/view/template/extension/extension/wellcome.twig и в нём находим строку:

Basic Captcha problem

Also, refreshing the page with basic captcha or jump to another page and back to basic captcha MAY help to solve the problem for sometimes but not 100%.

Firefox 71.0
Google Chrome 80.0

Tested version (fresh installation):

And I found such issue was reported at below URLs, but the problem is not really fixed.

In addition, in order to locate the problem, I have updated the file as below

catalog/controller/extension/captcha/basic.php
# line 21
return $this->language->get('error_captcha');
# changed to
return $this->language->get('error_captcha') . ' - session: ' . json_encode($this->session->data);

I also recorded a video so that everyone can see the problem easily
https://www.youtube.com/watch?v=yBlFnuHXkMY

You can see that the first time $this->session->data['captcha'] is empty, after visit contact us page to load the captcha, $this->session->data['captcha'] is correct for contact us page. But in checkout page $this->session->data['captcha'] is always wrong .

Attachments

Captcha.jpg (14.94 KiB) Viewed 1371 times

Wed Apr 28, 2021 12:47 pm

Re: Basic Captcha problem

Wed Apr 28, 2021 12:47 pm

Post by nethubdesign » Wed Apr 28, 2021 5:59 pm

After more testing, I think I have found the problem.

1. edit system/library/session.php (line 81) as below:

public function close() # debug
$file = fopen("/var/www/vhosts/test.com/debug.log","a");
fwrite($file, $this->session_id . ' - ' . json_encode($this->data) . "\r\n");
fclose($file);
$this->adaptor->write($this->session_id, $this->data);
>

2. go to check out page, check inspect element in the browser (Ctrl-Shift-C for Firefox) > Network tab > click "Continue" on the checkout page > you will see accessing below 4 URLs by AJAX:

index.php?route=checkout/guest
index.php?route=extension/captcha/basic/captcha
index.php?route=checkout/checkout/customfield&customer_group_id=1
index.php?route=checkout/checkout/country&country_id=222

3. check the debug.log, there are 4 lines like below, note that "0f584c" is the old catpcha value, this means that the captcha value is updated to the database 4 times in this order: 0f584c > 9ea9d6 > 0f584c > 0f584c , you can see the captcha value was updated to the "0f584c" finally, that's why sometimes the captcha works and sometimes it doesn't.

Hope OpenCart developer or someone can solve it.

Как отредактировать в форме обратной связи текст captca OpenCart?

Здравствуйте. Использую OpenCart 3.x
На странице "Контакты", есть форма обратной связи и чекбокс с соглашением о прочтении политики конфиденциальности.

Как отредактировать выводимый текст строки с ссылкой? SEO URL не подходит. В контактах на это не реагирует.

В шаблоне information/contact строка, которая отвечает за вывод чекбокса:

Но при этом в модулях у меня только две капчи - гугл и basic, которые отключены.

614567c4288db829348396.png

  • Вопрос задан более двух лет назад
  • 123 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 1

moytop

В Opencart все такие тексты обычно лежат в файлах локализации.
То есть что-то типа такого: \catalog\language\ru-ru\account\register.php - таких файлов может быть много, плюс сам шаблон может использовать, поэтому проще всего поискать этот текст по всем файлам и потом меняя по одному понять - из какого именно файла в этом месте берется данный текст.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *