CAPTCHA - это зло! Решение для Joomshopping и Virtuemart

  • 28.12.2016
CAPTCHA - это зло! Решение для Joomshopping и Virtuemart

Всем известно, что чем меньше мы заставляем пользователя заполнять полей при регистрации - тем выше конверсия. Но как быть с ботами которые регистрируются в наших магазинах? Ставить капчу? Парадокс. 

А ведь есть простое и красивое решение. Что делают боты? Сабмитят нашу форму регистрации. Что делают разработчики чтобы нельзя было регистрироваться по прямой ссылке? Вводят в форму так называемое поле token со случайным именем. Решение - при отрисовки страницы у клиента мы должны вывести форму без поля токен (без нашего случайного имени). А вот после полной загрузки страницы (к этому моменту бот ее уже проглотил) мы скриптом создаем в форме наше поле токен. Точнее не создаем, а присваеваем ему правильное случайное имя. Предлагаю Вам реализацию для поледних Joomshopping и Virtuemart.

Для Joomshopping Version 4.15.0

Открываем файл шаблона страницы регистрации: /components/com_jshopping/templates/default/register.php (Это дефолтный шаблон, либо открываете свой в шаблоне сайта) В конце файла находим и убираем:

echo JHtml::_('form.token');

Далее, в самом конце файла добавляем:

<script type="text/javascript">	
	jQuery(document).ready(function() {
	jQuery("form.form-validate").append('<?php echo JHtml::_('form.token');?>');
 });
</script>

Сохраняем, наслаждаемся.

Для Virtuemart Version 3.0.18

Открываем файл шаблона страницы регистрации: /components/com_virtuemart/views/user/tmpl/edit.php (Это дефолтный шаблон, либо открываете свой в шаблоне сайта) В конце файла находим и убираем:

echo JHtml::_('form.token');

Далее, в самом конце файла добавляем:

<script type="text/javascript">	
	jQuery(document).ready(function() {
	jQuery("form.form-validate").append('<?php echo JHtml::_( 'form.token' ); ?>');
 });
</script>

Сохраняем, наслаждаемся. Источник - http://beagler.ru/joomla/captcha-eto-zlo-reshenie-dlya-joomshopping-i-virtuemart.html

Это интересно:

Михаил Орлов
Россия , МОСКВА

Комментарии  

Alexey
0 # Alexey 28.12.2016 22:25
jQuery("form.form-validat e").append(''); - тут ошибка!
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Михаил Орлов
0 # Михаил Орлов 30.12.2016 20:08
В моем первоисточнике правильно - а здесь код покорявило
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Михаил Орлов
0 # Михаил Орлов 30.12.2016 20:10
Не, не дает вставить скрипт - вырезает. Смотрите на моем сайте.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Вадим Куницын
0 # Вадим Куницын 02.01.2017 14:28
Исправил статью, еще за одно кажется сделал, так чтоб это не резалось так жестоко.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Евгений Сивоконь
0 # Евгений Сивоконь 28.05.2017 11:15
Опечатка в пути к JoomShopping.
В статье:
/components/com_jshopping/templates/default/register.php

правильно так:
/components/com_jshopping/templates/default/user/register.php
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Евгений Сивоконь
0 # Евгений Сивоконь 28.05.2017 11:28
Добавить в самом конце, это вот так?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору

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

Обновить
Защитный код

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Скачать Joomla! 3 Документация Joomla! CMS Свернуть

Новости портала

Новое в блогах

Видео