Всем известно, что чем меньше мы заставляем пользователя заполнять полей при регистрации - тем выше конверсия. Но как быть с ботами которые регистрируются в наших магазинах? Ставить капчу? Парадокс.
А ведь есть простое и красивое решение. Что делают боты? Сабмитят нашу форму регистрации. Что делают разработчики чтобы нельзя было регистрироваться по прямой ссылке? Вводят в форму так называемое поле 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