1 Отредактировано KozM (10-01-2017 18:00:27)

Тема: Google reCAPTCHA v2 в форму Callback

Помогите, пожалуйста. Версия: 4.2 Premium
Получил ключи от гугла, вставил в /templates/premium/shop/callback.tpl

<div class="g-recaptcha" data-sitekey="Публичный ключ"></div>

в main.tpl добавил

<script src='https://www.google.com/recaptcha/api.js'></script>

Картинка проверки появилась, теперь вопрос каким образом настроить проверку формы, я так понял, что проверка обратного звонка находится в /application/modules/shop в файле shop.php отвечает за проверку:

public function callback()

я так понял,  $this->load->library('Form_validation'); надо убирать, создавать библиотеку как в теме http://forum.imagecms.net/viewtopic.php?id=5322 ?

Thumbs up Thumbs down

2

Re: Google reCAPTCHA v2 в форму Callback

Разобрался. Все проще. В shop.php после

if (!empty($_POST)) {

добавил:

 // проверка reCAPTCHA
            $privatekey = "СЕКРЕТНЫЙ КЛЮЧ ";
            $gresp  = $_POST["g-recaptcha-response"];
            $urlg = 'https://www.google.com/recaptcha/api/siteverify';
            $remoteIP = $_SERVER["REMOTE_ADDR"];
            $resp = file_get_contents($urlg."?secret=".$privatekey."&response=".$gresp."&remoteip=".$remoteIP);
            $decoded = json_decode($resp);
            // конец проверки reCAPTCHA

и заменил

if ($this->form_validation->run($this) !== FALSE)

на

if ($this->form_validation->run($this) !== FALSE and $decoded->success!==false)

Все работает.

Thumbs up Thumbs down

3

Re: Google reCAPTCHA v2 в форму Callback

Всё в этом посте: http://forum.imagecms.net/viewtopic.php?id=5322

Разработка модулей для ImageCMS Corporate.
https://novabench.com/image/742206.png