LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 22:03:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: СAPTCHA в форме регистрации для Virtuemart / ВМРЕ 1.0.15  (Прочитано 10056 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Sulpher
Support Team
*****

Репутация: +293/-9
Offline Offline

Пол: Мужской
Сообщений: 1677


Миграция сайтов на Joomla 2.5


« : 09.12.2008, 21:58:58 »

Считаю необходимым внедрение в Virtuemart 1.0.15 (ВМРЕ) механизм защиты от автоматической регистрации спам-ботами Captcha (KCAPTCHA).

Вот рецепт:
1. Скачиваем lite версию KCAPTCHA (48кб). Распаковываем содержимое в корень сайта.

2. Открываем файл /languages/russian.php и добавляем следующую строку в конце файле перед закрывающей скобкой:

Код:
var $_PHPSHOP_SHOPPER_FORM_CAPTCHA = 'Введите код с картинки:';

Далее, открываем файл administrator/components/com_virtuemart/html/checkout_register_form.php и после строк 85-88
Код
		if( $VM_LANG->$property != "" ) {
$shopper_fields['extra_field_'.$i] = $VM_LANG->$property;
}
}
 

добавляем следующий фрагмент кода:
Код
		// Begin Captcha Hack - thomas_freeman www.KustomServices.com //
// Verfiy this is a real person?
$shopper_fields['captcha'] = $VM_LANG->_PHPSHOP_SHOPPER_FORM_CAPTCHA;
// End Captcha Hack //
 

В этом же файле после строк 203-205:
Код
	   		case 'extra_field_4': case 'extra_field_5':
  eval( "\$ps_html->list_$fieldname( mosGetParam( \$_REQUEST, '$fieldname'), \"id=\\\"$fieldname\\\"\");" );
  break;
 
добавляем такой код:
Код
	// Begin Captcha Hack - thomas_freeman www.KustomServices.com //
case 'captcha':
echo '<div>';
echo '<img src="/kcaptcha/index.php?' . session_name("virtuemart") . '=' . session_id() . '" alt="Turn on pictures showing" /></div>';
echo '<div><input type="text" id="'.$fieldname.'_field" name="captcha" size="30" class="inputbox" />'."\n";
echo '</div>';
break;
// End Captcha Hack //  
 

Открываем файл administrator/components/com_virtuemart/classes/ps.shopper.php и после строк 47-48:
Код
			if (empty($d['email'])) { $provided_required = false; $missing .= "email,"; }
}
 

добавляем такой фрагмент:
Код
	// Begin Captcha Hack - thomas_freeman www.KustomServices.com //
$captcha_string=$_POST['captcha'];
if(!isset($_SESSION['captcha_keystring'])||$_SESSION['captcha_keystring']!==$captcha_string)
{
$provided_required = false;
$missing .= "verification_code,";
unset($_SESSION['captcha_keystring']);
}
// END Captcha PATCH
 


Источник: http://forum.virtuemart.net/index.php?topic=29928
По материалам: http://joomup.com/blog/2007/07/04/captcha-backend-login-form/
(Авторы: thomas_freeman, Physicist)
Записан
 
PaLyCH
Живу я здесь
******

Репутация: +139/-14
Offline Offline

Пол: Мужской
Сообщений: 1369


Архитектор сайтов


« Ответ #1 : 09.12.2008, 22:01:10 »

в репу сто ли +1
Записан
Domino
Гость
« Ответ #2 : 01.02.2009, 14:26:09 »

Хм... Ввод любого кода приводит к прохождению регистрации... Это только у меня? Или у всех так?
Записан
Exciter
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 78


« Ответ #3 : 25.02.2009, 20:20:24 »

А как тоже самое сделать в 1.1.3 ?
Записан
mich
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 18


« Ответ #4 : 22.03.2009, 09:53:09 »

Вот поставил все по инструкции , а при регистрации и заполнении всех полей выводит , что проверьте мол все ли заполнили?...версия VM1.0.12.
Записан
Felix.u
Гость
« Ответ #5 : 03.04.2009, 10:22:14 »

Цитировать
Вот поставил все по инструкции , а при регистрации и заполнении всех полей выводит , что проверьте мол все ли заполнили?...версия VM1.0.12.
проблема решается заменой в index.php (в каталоге kcaptcha) кода на следующий
Код:
<?php

error_reporting (E_ALL);

/* Using:

<?php
session_start();
?>
<form action="./" method="post">
<p>Enter text shown below:</p>
<p><img src="PATH-TO-THIS-SCRIPT?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
<?php
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring']){
echo "Correct";
}else{
echo "Wrong";
}
}
unset($_SESSION['captcha_keystring']);
?>

*/

include('kcaptcha.php');

//if(isset($_REQUEST[session_name()])){
// session_start();
//}

$captcha_obj = new KCAPTCHA();

//if($_REQUEST[session_name()]){
session_name('virtuemart');
session_start();
$_SESSION['captcha_keystring'] = $captcha_obj->getKeyString();
//}

?>
все дело в session_name('virtuemart'); Smiley
« Последнее редактирование: 03.04.2009, 11:06:51 от Felix.u » Записан
shipa
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 28


« Ответ #6 : 05.06.2009, 20:53:19 »

Как сделать это в Joomla 1.5?
Записан
Nira_S
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #7 : 09.10.2009, 05:43:37 »

Для Joomla 1.5 отличное решение http://www.waltercedric.com/joomla-mainmenu-247/339-joomla-15/1532-joomla-159-virtuemart-113-securityimages-511.html
Записан
rapira
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 44



« Ответ #8 : 05.04.2010, 19:50:51 »

Для Joomla 1.5 отличное решение http://www.waltercedric.com/joomla-mainmenu-247/339-joomla-15/1532-joomla-159-virtuemart-113-securityimages-511.html
на практике проверяли, как работает?
« Последнее редактирование: 08.04.2010, 18:38:45 от rapira » Записан
gogison
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 25

Регистрации в каталогах, форумах, досках, новостях


« Ответ #9 : 15.10.2010, 02:51:07 »


Вот рецепт:
1. Скачиваем lite версию KCAPTCHA (48кб). Распаковываем содержимое в корень сайта.


Люди не делайте этого - сайт перестает работать!
Записан
back
Давно я тут
****

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 259


Все просто если по очереди)


« Ответ #10 : 11.01.2011, 15:06:36 »

А как на счет версий магазина по старше?
Записан
antp
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 3


« Ответ #11 : 16.03.2011, 02:49:55 »

А как на счет версий магазина по старше?
У меня VirtueMart 1.1.7 stable на Joomla 1.5.22 Stable, долго не думая, скачал osolCaptcha установил, в настройках плагина: "галачку" на включить, Auto add in (joomla default)Registration - да, остальное по-вкусу, дальше сохраняем и проверяем стандартную регистрацию Joomla, должна появится CAPTCHA..

Чтобы появилась CAPTCHA в регистрационной форме VirtueMart, редактируем: administrator\components\com_virtuemart\html\checkout_register_form.php

Ищем
Код
echo '
<input type="submit" value="'
. $VM_LANG->_('BUTTON_SEND_REG'). '" class="button" onclick="return( submitregistration());" />

и выше него вставляем
Код
global $mainframe;
$mainframe->triggerEvent('onShowOSOLCaptcha', array(false));

Сохраняем, и проверяем... у меня заработало с первого раза..
Записан
hawkmax
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 9


« Ответ #12 : 31.05.2011, 15:55:19 »

Сделал капчу OSOLCaptcha, работает на ура. Через страницу зайти невозможно без CAPTCHA. Но вот проблема, спамеры до сих пор ломятся как будто ее нет. Походу действуют через post запросы.
Нашел на форуме решение проблемы для обычной регистрации joomla
http://joomlaforum.ru/index.php/topic,76386.msg820353.html#msg820353
Можно его как нить привязать для виртулмарта?
Записан
kottom
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 21


« Ответ #13 : 01.12.2011, 15:31:22 »

а как поставить капчу в раздел "отправить вопрос по товару" 
Записан
coolon
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 72



« Ответ #14 : 27.12.2011, 04:26:40 »

EasyCalcCheck PLUS, OSOLCaptcha как то не интересно, зелёная она какае то, подскажите другие варианты?
« Последнее редактирование: 27.12.2011, 04:30:26 от coolon » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet