nexis33
Постоялец
- Регистрация
- 11 Фев 2015
- Сообщения
- 124
- Реакции
- 6
- Автор темы
- #1
Тем кто хочет поставить себе капчу от гугл.
p.s статья не моя.
1 Заходим на сайт Для просмотра ссылки Войдиили ЗарегистрируйсяДля просмотра ссылки Войди или ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся[/url]
Получаем ключи, которые потом будет записывать в админке в разделе "Настройки"
1.1 Загружаем файлы в папку captcha
Для просмотра ссылки Войдиили Зарегистрируйся
2. Открываем файл /backend/SettingsAdmin.php
добавляем примерно в строку 50:
3. открываем файл backend/design/html/settings.tpl
добавляем:
4. Открываем файл /view/View.php
вставляем:
5. Открываем файлы /view/CartView.php | BlogView.php | FeedbackView.php | ProductView.php | RegisterView.php
добавляем:
Ищем :
заменяем на:
*Ищем:
*заменяем на:
* в некоторых случаях будет
Заменяем на:
Или:
Заменяем на:
удаляем (если есть unset($_SESSION['captcha_code']);
6. Открываем файл design/[ваш шаблон]/html/index.tpl
добавляем:
7. Открываем файлы design/[ваш шаблон]/html/cart | feedback | post | product | register.tpl,
ищем:
Заменяем на:
В итоге получаем готовую рекапчу от гугл. Метод рабочий
p.s статья не моя.
1 Заходим на сайт Для просмотра ссылки Войди
Получаем ключи, которые потом будет записывать в админке в разделе "Настройки"
1.1 Загружаем файлы в папку captcha
Для просмотра ссылки Войди
2. Открываем файл /backend/SettingsAdmin.php
добавляем примерно в строку 50:
PHP:
/* ReCaptcha */
$this->settings->site_code = $this->request->post('site_code');
$this->settings->secret_code = $this->request->post('secret_code');
3. открываем файл backend/design/html/settings.tpl
добавляем:
HTML:
<div class="block layer">
<h2>Управление <a href="https://www.google.com/recaptcha/admin">ключами ReCaptcha API</a></h2>
<ul>
<li><label class=property>Ключ</label><input name="site_code" class="simpla_inp" type="text" value="{$settings->site_code|escape}" /></li>
<li><label class=property>Секретный ключ</label><input name="secret_code" class="simpla_inp" type="text" value="{$settings->secret_code|escape}" /></li>
</ul>
</div>
4. Открываем файл /view/View.php
вставляем:
PHP:
require_once('captcha/autoload.php');
5. Открываем файлы /view/CartView.php | BlogView.php | FeedbackView.php | ProductView.php | RegisterView.php
добавляем:
PHP:
$response = null;
$reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code);
Ищем :
PHP:
$captcha_code = $this->request->post('captcha_code', 'string');
PHP:
$captcha_code = $this->request->post('g-recaptcha-response');$response = $reCaptcha->verify($captcha_code, $order->ip);
*Ищем:
PHP:
elseif($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code))
PHP:
elseif($response->getErrorCodes())
* в некоторых случаях будет
PHP:
elseif(empty($_SESSION['captcha_code']) || $_SESSION['captcha_code'] != $captcha_code || empty($captcha_code))
PHP:
elseif($response->getErrorCodes())
PHP:
if ($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code))
PHP:
if($response->getErrorCodes())
удаляем (если есть unset($_SESSION['captcha_code']);
6. Открываем файл design/[ваш шаблон]/html/index.tpl
добавляем:
Код:
<script src='https://www.google.com/recaptcha/api.js'></script>
</head>
7. Открываем файлы design/[ваш шаблон]/html/cart | feedback | post | product | register.tpl,
ищем:
HTML:
<input class="form-control" type="text" name="captcha_code" value="" data-format="\d\d\d\d\d" data-notice="{$lang->form_enter_captcha}" data-language="{$translate_id['form_enter_captcha']}" placeholder="{$lang->form_enter_captcha}*"/>
HTML:
<div class="g-recaptcha" data-sitekey="{$settings->site_code|escape}"></div>
В итоге получаем готовую рекапчу от гугл. Метод рабочий