kymasya Posted June 14, 2019 Report Share Posted June 14, 2019 recaptcha работает на всех страницах, кроме Корзины! получаю ошибку"missing-input-response" 100 раз все перепроверил - ни в какую не хочет работать Поможете!? Quote Link to post Share on other sites
FIMA Posted November 1, 2019 Report Share Posted November 1, 2019 (edited) $response = null;$reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); Вот это надо вставлять не после class а в ФУНКЦИЮПодключал капчу для блога и косякнул как все Сначала вставил сюда: class BlogView extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); Получил ошибку syntax error, unexpected '$response' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST), прочитал комент Kosjak76и исправил, нужно вставлять сюда: // Принимаем комментарий if ($this->request->method('post') && $this->request->post('comment')) { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); Спасибо за подсказку Edited November 1, 2019 by FIMA Quote Link to post Share on other sites
mdmatic Posted February 17, 2020 Report Share Posted February 17, 2020 Ребята. Сделал всё по инструкции. Единственное что, взял файлы уже готовые. Которые предоставил Ardion.Всё подобавлял, ввёл ключи от капчи Гугл. При регистрации (проверяю) - очень долгий таймаут и сообщение - неверно введена капча!в логах: [Mon Feb 17 15:55:36.286289 2020] [:error] [pid 16263] [client 123.34.112.130:59995] PHP Warning: Query was empty [] in /site/api/Database.php on line 105, referer: https://site/simpla/index.php?module=SettingsAdmin Я так понял, нужно либо заново ключи перегенерировать, либо что-то где-то добавить, по причине того, что api-ключи не подхватываются сайтом (вроде бы.) но я не уверен. подскажите, кто будет добр ) Quote Link to post Share on other sites
alexivchenko Posted February 17, 2020 Report Share Posted February 17, 2020 Ребята. Сделал всё по инструкции. Единственное что, взял файлы уже готовые. Которые предоставил Ardion.Всё подобавлял, ввёл ключи от капчи Гугл. При регистрации (проверяю) - очень долгий таймаут и сообщение - неверно введена капча! в логах: [Mon Feb 17 15:55:36.286289 2020] [:error] [pid 16263] [client 123.34.112.130:59995] PHP Warning: Query was empty [] in /site/api/Database.php on line 105, referer: https://site/simpla/index.php?module=SettingsAdmin Я так понял, нужно либо заново ключи перегенерировать, либо что-то где-то добавить, по причине того, что api-ключи не подхватываются сайтом (вроде бы.) но я не уверен. подскажите, кто будет добр )На странице «Настройка сайта» ключи прописали и сохранили? Quote Link to post Share on other sites
mdmatic Posted February 17, 2020 Report Share Posted February 17, 2020 (edited) На странице «Настройка сайта» ключи прописали и сохранили? да! в логах: [Mon Feb 17 16:18:03.159921 2020] [:error] [pid 8119] [client 127.0.0.1:1132] PHP Warning: Placeholder substitution error. Diagnostics: "UPDATE s_settings SET value=UNKNOWN_PLACEHOLDER_0 WHERE name=?" in /site/api/Database.php on line 132, referer: htps://site/simpla/index.php?module=SettingsAdmin [Mon Feb 17 16:18:03.159978 2020] [:error] [pid 8119] [client 127.0.0.1:1132] PHP Warning: Query was empty [] in /site/api/Database.php on line 105, referer: htps://site/simpla/index.php?module=SettingsAdmin Edited February 17, 2020 by mdmatic Quote Link to post Share on other sites
alexivchenko Posted February 17, 2020 Report Share Posted February 17, 2020 да!Так сразу не сказать Пишите в личные сообщения ссылку и ftp посмотрю Quote Link to post Share on other sites
mdmatic Posted February 17, 2020 Report Share Posted February 17, 2020 (edited) в общем. поправил там переменную одну. по-прежнему валится мускуль. [Mon Feb 17 16:51:04.803817 2020] [:error] [pid 16264] [client 159.65.80.170:60679] PHP Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/admin/web/veles.shop/public_html/captcha/ReCaptcha/RequestMethod/Post.php on line 68, referer: https://veles.shop/user/register [Mon Feb 17 16:51:04.803877 2020] [:error] [pid 16264] [client 159.65.80.170:60679] PHP Warning: file_get_contents(https://www.google.com/recaptcha/api/siteverify): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/admin/web/veles.shop/public_html/captcha/ReCaptcha/RequestMethod/Post.php on line 68, referer: https://veles.shop/user/register [Mon Feb 17 16:51:04.804164 2020] [:error] [pid 16264] [client 159.65.80.170:60679] PHP Warning: MySQL server has gone away [SELECT count(*) as count FROM s_users WHERE email='ewrwef@ukr.net'] in /home/admin/web/veles.shop/public_html/api/Database.php on line 105, referer: https://veles.shop/user/register [Mon Feb 17 16:51:04.806723 2020] [:error] [pid 16264] [client 159.65.80.170:60679] PHP Warning: MySQL server has gone away [SELECT b.id, b.url, b.name, b.annotation, b.text,\r\n\t\t b.meta_title, b.meta_keywords, b.meta_description, b.visible,\r\n\t\t b.date\r\n\t\t FROM s_blog b WHERE 1 AND b.visible = 1 \r\n\t\t ORDER BY date DESC, id DESC LIMIT 0, 9 ] in /home/admin/web/veles.shop/public_html/api/Database.php on line 105, referer: https://veles.shop/user/register [Mon Feb 17 16:51:04.806756 2020] [:error] [pid 16264] [client 159.65.80.170:60679] PHP Warning: MySQL server has gone away in /home/admin/web/veles.shop/public_html/api/Database.php on line 150, referer: https://veles.shop/user/register [Mon Feb 17 16:51:04.806827 2020] [:error] [pid 16264] [client 159.65.80.170:60679] PHP Warning: MySQL server has gone away [SELECT DISTINCT b.id, b.name, b.url, b.meta_title, b.meta_keywords, b.meta_description, b.description, b.image\r\n\t\t\t\t\t\t\t\t \t\tFROM s_brands b ORDER BY b.name] in /home/admin/web/veles.shop/public_html/api/Database.php on line 105, referer: https://veles.shop/user/register [Mon Feb 17 16:51:04.806835 2020] [:error] [pid 16264] [client 159.65.80.170:60679] PHP Warning: MySQL server has gone away in /home/admin/web/veles.shop/public_html/api/Database.php on line 150, referer: https://veles.shop/user/register Edited February 17, 2020 by mdmatic Quote Link to post Share on other sites
xikarx Posted November 20, 2020 Report Share Posted November 20, 2020 Народ, прошу помочь с реКаптчей. Перепробовал все, что предлагается в этой теме (кроме прикрепленных файлов, которые скачиваются пустыми, почему-то). На страницах товаров в отзывах реКаптча не работает. У меня добавлен модуль быстрого заказа и я не пойму, где я что не так делаю... Короче прикладываю файл, буду благодарен, если кто посмотрит.https://yadi.sk/d/YuPUmv08OrQiPg чет файл подгружаться не хочет, выложил на ЯДиск. Quote Link to post Share on other sites
madison21 Posted January 11, 2021 Report Share Posted January 11, 2021 Ребят, всё по инструкции делал. Вроде несложно, да и внимательно.. Но ошибку выбрасывает при переходе в корзину Parse error: syntax error, unexpected '$response' (T_VARIABLE), expecting function (T_FUNCTION) in /home/am5999/xn----8sbagbcpvbrptv3l.xn--j1amh/www/view/CartView.php on line 19 Что может быть? Quote Link to post Share on other sites
simpla24 Posted January 11, 2021 Report Share Posted January 11, 2021 (edited) 58 минут назад, madison21 сказал: Parse error: syntax error, unexpected '$response' (T_VARIABLE), expecting function (T_FUNCTION) in /home/am5999/xn----8sbagbcpvbrptv3l.xn--j1amh/www/view/CartView.php on line 19 Так Вам же внимательно расписали ошибку, даже указали строчку. Посмотрите правильностью еще раз построчно. Edited January 11, 2021 by simpla24 Quote Link to post Share on other sites
madison21 Posted January 11, 2021 Report Share Posted January 11, 2021 Специально заново переделал, по несколько раз перепроверял. На страницах Корзина, Товар, Контакты (всего 5)... выдаёт эту ошибку в файлах CartView.php, ProductView.php, FeedbackView.php (всего 5)... именно на строке 19. А там везде в 5 файлах я произвёл замену с class FeedbackView extends View { на class FeedbackView extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); Разве не так? Подскажите пожалуйста, кто разобрался.. Quote Link to post Share on other sites
Kosjak76 Posted January 12, 2021 Report Share Posted January 12, 2021 В 25.06.2016 в 01:51, Netrea сказал: class ProductView extends View { function fetch() { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); Внимательно перечитайте первую страницу темы Quote Link to post Share on other sites
Kami Posted January 12, 2021 Report Share Posted January 12, 2021 8 часов назад, madison21 сказал: Специально заново переделал, по несколько раз перепроверял. На страницах Корзина, Товар, Контакты (всего 5)... выдаёт эту ошибку в файлах CartView.php, ProductView.php, FeedbackView.php (всего 5)... именно на строке 19. А там везде в 5 файлах я произвёл замену с class FeedbackView extends View { на class FeedbackView extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); Разве не так? Подскажите пожалуйста, кто разобрался.. У все решение давно прекрасно работает. Попробуйте эту инструкцию, она более подходит для новичков. Также советую все таки ставить 3 версию, у меня на проектах 2 уже пропускает некоторый спам. Quote Link to post Share on other sites
a13x Posted January 12, 2021 Report Share Posted January 12, 2021 (edited) Кому интересно то вот решение по интеграции reCaptcha v3. В любую форму добавляем <input type="hidden" name="recaptcha_response"> Добавляем в .tpl {literal} <style>.grecaptcha-badge {visibility: hidden;}</style> <script src="https://www.google.com/recaptcha/api.js?render=__PUBLIC_KEY__"></script> <script> grecaptcha.ready(function() { grecaptcha.execute('__PUBLIC_KEY__', {action: 'submit'}).then(function(token) { grecaptcha.value = token; //объект формы $("form.ajax_form").find("input[name='recaptcha_response']").val(token); }); }); </script> {/literal} А это в любом View где надо проверять: function google_captcha() { if(isset($_POST['recaptcha_response'])) { $recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify'; $recaptcha_secret = "__SECRET_KEY__"; $recaptcha_response = $_POST['recaptcha_response']; $recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response); $recaptcha = json_decode($recaptcha); //проверка на очки if(isset($recaptcha->score) && $recaptcha->score >= 0.5) return true; } return false; } Ну и вызов google_captcha() для проверки. __PUBLIC_KEY__ и __SECRET_KEY__ вводите тот что вам гугл выдал. Edited January 12, 2021 by a13x Quote Link to post Share on other sites
Axotn1k Posted July 4, 2021 Report Share Posted July 4, 2021 Кто может написать подбробно как настроить reCaptcha v3 на сайте ? Quote Link to post Share on other sites
Kami Posted July 4, 2021 Report Share Posted July 4, 2021 1 час назад, Axotn1k сказал: Кто может написать подбробно как настроить reCaptcha v3 на сайте ? Тут где то решение было, вы про инвизибл капчу? Quote Link to post Share on other sites
Axotn1k Posted July 7, 2021 Report Share Posted July 7, 2021 В 04.07.2021 в 18:15, Kami сказал: Тут где то решение было, вы про инвизибл капчу? Я о том как reCaptcha v3 настроить. 2я версия не справляеться, спам так и прет Quote Link to post Share on other sites
phukortsin Posted July 8, 2021 Report Share Posted July 8, 2021 https://prog-time.ru/ustanovka-google-recaptcha-v3-na-sajt-2019-kak-ustanovit-nevidimuyu-kapchu-na-sajt/ Quote Link to post Share on other sites
lihach Posted October 18, 2021 Report Share Posted October 18, 2021 В 12.01.2021 в 21:53, a13x сказал: Кому интересно то вот решение по интеграции reCaptcha v3. В любую форму добавляем <input type="hidden" name="recaptcha_response"> Добавляем в .tpl {literal} <style>.grecaptcha-badge {visibility: hidden;}</style> <script src="https://www.google.com/recaptcha/api.js?render=__PUBLIC_KEY__"></script> <script> grecaptcha.ready(function() { grecaptcha.execute('__PUBLIC_KEY__', {action: 'submit'}).then(function(token) { grecaptcha.value = token; //объект формы $("form.ajax_form").find("input[name='recaptcha_response']").val(token); }); }); </script> {/literal} А это в любом View где надо проверять: function google_captcha() { if(isset($_POST['recaptcha_response'])) { $recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify'; $recaptcha_secret = "__SECRET_KEY__"; $recaptcha_response = $_POST['recaptcha_response']; $recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response); $recaptcha = json_decode($recaptcha); //проверка на очки if(isset($recaptcha->score) && $recaptcha->score >= 0.5) return true; } return false; } Ну и вызов google_captcha() для проверки. __PUBLIC_KEY__ и __SECRET_KEY__ вводите тот что вам гугл выдал. Привет! Расскажи подробнее пожалуйста... Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.