Плагин Помогите доделать Captcha Joomshopping

Tuzemec

Постоялец
Регистрация
20 Июл 2012
Сообщения
63
Реакции
26
В общем на базе официального плагина Joomshopping Registration Captcha делаю капчу для отзывов о товарах.
Капча выводится, но при отправке отзыва, проверка капчи не производится.
В стандартный плагин добавил вот эти строки кода:
PHP:
function onBeforeDisplayProductView(&$view) {
		$plugin = JComponentHelper::getParams('com_users')->get('captcha', JFactory::getConfig()->get('captcha'));
		if ($plugin === 0 || $plugin === '0' || $plugin === '' || $plugin === null) return;
		
		$language = JFactory::getLanguage();
		$language->load('com_users');
		
		$captcha = new JCaptcha($plugin, array());
		$view->_tmp_product_review_before_submit = '<div class = "jshop_register"><table><tr><td class="name">'.JText::_('COM_USERS_CAPTCHA_LABEL').' <span>*</span></td><td>'.$captcha->display('jshopping_captcha', 'jshopping_captcha', 'jshopping_captcha').'</td></tr></table></div>';
	}
	function onBeforeSaveReview(&$post) {
		$plugin = JComponentHelper::getParams('com_users')->get('captcha', JFactory::getConfig()->get('captcha'));
		if ($plugin === 0 || $plugin === '0' || $plugin === '' || $plugin === null) return;
		
		$jshopConfig = JSFactory::getConfig();
		$app = JFactory::getApplication();
		$language = JFactory::getLanguage();
		$language->load('plg_captcha_'.$plugin);
		
		$captcha = new JCaptcha($plugin, array());
		$plugin = JFactory::getApplication()->input->get('jshopping_captcha', '', 'STRING');
		if (!$captcha->checkAnswer($plugin)) {
			$error = $captcha->getError();
			if ($error instanceof Exception) {
				JError::raiseWarning('', $error);
			} else {
				JError::raiseWarning('', new JException($error));
			}
			$app->redirect(SEFLink('index.php?option=com_jshopping&controller=product&task=view&product_id='.$this->product_id,1,1, $jshopConfig->use_ssl));
		}
	}
В чем может быть дело?
Joomla - 3.5.1
Joomshopping - 4.14.0
 

Вложения

  • jshopping_captcha.zip
    1,5 KB · Просмотры: 20
А подключить JComments для коментирования товаров? А там капча галочкой включается..
 
Тему можно пометить как решенной. Нужно было изменить группу плагина. В итоге получился отдельный плагин от Joomshopping Registration Captcha. Прикрепляю
 

Вложения

  • jshopping_captcha_otzivi.zip
    1,4 KB · Просмотры: 44
Зачем ставить отдельный компонент если можно пользоваться стандартными функциями JS. собирался сам писать такой плагин, а он тут как тут, спаммеры достали
 
Капча в JoomShopping не нужна за полной ненадобностью! Тоже раньше хотел установить капчу, списывался с оригинальными разработчиками, они довольно четко аргументировали отсутствие необходимости в капче, сославшись на встроенную защиту.
 
Капча в JoomShopping не нужна за полной ненадобностью! Тоже раньше хотел установить капчу, списывался с оригинальными разработчиками, они довольно четко аргументировали отсутствие необходимости в капче, сославшись на встроенную защиту.
Вы какую-то ерунду пишете, говорите что каптча отсутствует, но при этом она есть Для просмотра ссылки Войди или Зарегистрируйся
А здесь та каптча переделана под отзывы. И еще, насколько мне известно никакой встроенной защиты нет.
 
Вы скинули ссылку на капчу для регистрации. В статье речь про капчу в отзывах. Это совершенно разные вещи! И защита здесь обеспечивается как минимум тем, что в случае если отзывы оставляют только зарегистрированные пользователи, они проходят проверку на антибот через активацию по почте, а если отзыв может оставлять незарегистрированный пользователь, система проверяет, поддерживается ли в его системе JS, если нет, само окошко с отзывами не рисуется. Этого достаточно чтобы защитить себя от ботов.
 
"встроенная защита" - это, видимо, и есть плагин гугловской каптчи. если ее не включать, будет шквал спамных регистраций.
 
"встроенная защита" - это, видимо, и есть плагин гугловской каптчи. если ее не включать, будет шквал спамных регистраций.
5 лет делаю сайты на джумле, в т.ч. с Joomshopping. Никаких шквалов спамных регистраций не наблюдал ни на одном сайте. Если у Вас такая проблема - используйте One Step Checkout. регистрация происходит при оформлении товара, по умолчанию она скрыта, требуется поставить галку. Здесь точно без всякой капчи никакого спама не будет!
 
5 лет делаю сайты на джумле, в т.ч. с Joomshopping. Никаких шквалов спамных регистраций не наблюдал ни на одном сайте. Если у Вас такая проблема - используйте One Step Checkout. регистрация происходит при оформлении товара, по умолчанию она скрыта, требуется поставить галку. Здесь точно без всякой капчи никакого спама не будет!
OneStepCheckout как раз стоит - купленный официально. да и при чем тут он? лично мне требуется, чтоб зарегистрироваться на сайте можно было не только во время заказа.
+ в джумле боты напрямую стучатся в /index.php?option=com_users&view=registration , /index.php/component/users/?task=user.register и пр. (см. логи).
 
Назад
Сверху