Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 3762 Просмотров
*

Mivka

  • Захожу иногда
  • 140
  • 2 / 0
Установил плагин, и в итоге, он отображается сверху, а потом уже идёт имя, пароль, мейл и т.д.
А как сделать чтобы сапча шла внизу?
*

AgaOnline

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
Re: Плагин CBcaptcha в форме регистрации
« Ответ #1 : 16.04.2010, 06:40:39 »
какая версия CAPTCHA?
У меня ее вообще спамботы легко обходят.
*

Mivka

  • Захожу иногда
  • 140
  • 2 / 0
Re: Плагин CBcaptcha в форме регистрации
« Ответ #2 : 20.04.2010, 10:38:11 »
[1.0]plug_cbcaptcha
*

AgaOnline

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
Re: Плагин CBcaptcha в форме регистрации
« Ответ #3 : 20.04.2010, 18:03:00 »
сразу выбрось. Потом пожалеешь =)

По сабжу такой вопрос задавался на этом форуме - посоветовали самому рыться в коде
*

burovikk

  • Новичок
  • 6
  • 0 / 0
Re: Плагин CBcaptcha в форме регистрации
« Ответ #4 : 20.04.2010, 18:31:50 »
Придумал не сам. Цитирую. Но у себя поставил - работает прекрасно называется == kcaptcha_rus ==
Написал некто  pedrosoft

 Интеграция KCAPTCHA с Joomla 1.5. Часть 1: Компонент com_user
Joomla настолько демократичная cms, что в базовый поставке не имеет никакой защиты от спам-ботов, хотя имеет формы ввода данных в которые эти спам-боты могут нагадить. Для избавления от такой напасти будем использовать отечественную разработку под названием KCAPTCHA, написанную на php «для защиты от спама и флуда». В первой части я расскажу об интеграции с компонентом com_user, а во-второй сделаю интеграцию с com_contact. Интеграция будет проделана с Joomla 1.5.14.

Скачаем KCAPTCHA и распакуем архив в директорию «libraries» дистрибутива Joomla.

Теперь приступим к интеграции:
1) В корневом файле Joomla index.php после 17 строки добавим:

// BEGIN PATCH
session_start();
if(isset($_SESSION['captcha_keystring'])&&($_SESSION['captcha_keystring']==$_POST['captcha']))
   $_POST['captcha']=1;
else
   $_POST['captcha']=0;
session_destroy();
// END PATCH


и после 92 строки:

$mainframe->triggerEvent('onAfterRender');

// BEGIN PATCH
JSession::close();
// END PATCH

/**
 * RETURN THE RESPONSE
 */



2) Добавим проверку и показ защитного изображения в форму регистрации. В файле /components/com_user/controller.php после строки 331 добавим:

$document   =& JFactory::getDocument();

// BEGIN PATCH
if ($_POST['captcha'] !== 1) {
        JError::raiseWarning( 403, JText::_( 'You need to enter the code shown' ));
        $this->setRedirect('index.php?option=com_user&task=register');
        return false;
}
// END PATCH

// If user registration is not allowed, show 403 not authorized.


и в файле /components/com_user/views/register/tmpl/default.php после 73 строки:

<input class="inputbox required validate-passverify" type="password" id="password2" name="password2" size="40" value="" /> *
        </td>
</tr>
<!-- BEGIN PATCH -->
<tr>
        <td height="60">
                <label for="captcha">
                        <?php echo JText::_( 'Enter text shown below' ); ?>:
                </label>
        </td>
        <td>
                <input type="text" name="captcha" class="inputbox" size="20" id="captcha" /> *
                <img src="<?php JURI::base()?>libraries/kcaptcha/index.php?<?php echo session_name(); ?>=<?php echo session_id(); ?>" alt="Captcha" style="vertical-align:-25px;" />
        </td>
</tr>
<!-- END PATCH -->
<tr>
        <td colspan="2" height="40">



3) Добавим переводы созданных нами языковых констант в файл локализации. Открываем /language/ru-RU/ru-RU.ini и добавляем в любое место следующие строки:

# BEGIN PATCH
ENTER TEXT SHOWN BELOW=Введите код
YOU NEED TO ENTER THE CODE SHOWN=Вы должны ввести правильный код, указанный на картинке.
# END PATCH



Ну вот теперь всё готово! Можно поднастроить KCAPTCHA, делается это через файл kcaptcha_config.php:

    $allowed_symbols — доступные символы для картинок
    $length — количество символов для проверки
    $width $height — ширина и высота картинки
    $show_credits — показ ссылки на авторов, чтобы убрать — поставить false
    $jpeg_quality — качество генерируемого изображения







Интеграция / Интеграция KCAPTCHA с Joomla 1.5. Часть 2: Компонент com_contact
Итак, продолжаю первую статью об интеграции KCAPTCHA с Joomla 1.5. Сегодня опишу интеграцию KCAPTCHA с компонентом com_contact.

Приступим:
1) В файле /components/com_contact/controller.php после строки 164 добавим:

$mail->setSubject( $FromName.': '.$subject );
$mail->setBody( $body );

// BEGIN PATCH
if(1!==$_POST['captcha']) {
        JError::raiseWarning( 403, JText::_( 'You need to enter the code shown' ));
        $this->setRedirect(JRoute::_('index.php?option=com_contact&view=contact&id='.$contactId, false));
        return false;
}
// END PATCH

$sent = $mail->Send();



2) В файл /components/com_contact/views/contact/tmpl/default_form.php после строки добавим:

<?php endif; ?>
<!-- BEGIN PATCH -->
<br />
<br />
<label for="captcha"><?php echo JText::_( 'Enter text shown below' ); ?>:</label>
<br />
<input type="text" name="captcha" class="inputbox" size="20" id="captcha" />
<img src="<?php JURI::base()?>libraries/kcaptcha/index.php?<?php echo session_name(); ?>=<?php echo session_id(); ?>" alt="Captcha" style="vertical-align:-25px;" />
<!-- END PATCH -->
<br />
<br />
<button class="button validate" type="submit"><?php echo JText::_('Send'); ?></button>



Готово! Если делаете интеграцию только для компонента com_contact, то не забудьте добавить нужный код в index.php Joomla, а также языковые константы в файл локализации, как это описано в первой части.





Как в com_contact сделать так, чтобы в случае ввода неверного кода с картинки, не пропадали уже введенные данные формы (e-mail, текст сообщения)?

Чтобы данные в форме сохранялись в default_form.php после
Код:

   $document =& JFactory::getDocument();
   $document->addScriptDeclaration($script);

вставляем
Код:

   $name      = JRequest::getVar( 'name',         '',         'post' );
   $email      = JRequest::getVar( 'email',      '',         'post' );
   $subject   = JRequest::getVar( 'subject',      $default,   'post' );
   $body      = JRequest::getVar( 'text',         '',         'post' );


Это переменные из обработчика - файла controller.php.

Дальше в input'ах в параметр value подставляем эти переменные, например так:
Код:

<input type="text" name="name" id="contact_name" size="30" class="inputbox" value="<?php echo $name ?>" />


« Последнее редактирование: 20.04.2010, 18:56:45 от burovikk »
*

Mivka

  • Захожу иногда
  • 140
  • 2 / 0
Re: Плагин CBcaptcha в форме регистрации
« Ответ #5 : 25.04.2010, 16:38:38 »
сразу выбрось. Потом пожалеешь =)

По сабжу такой вопрос задавался на этом форуме - посоветовали самому рыться в коде
Почему сразу выбрасывать и потом пожалею? А чем ты пользуешься?
*

Dimir

  • Захожу иногда
  • 426
  • 13 / 1
Re: Плагин CBcaptcha в форме регистрации
« Ответ #6 : 22.07.2010, 21:11:00 »
Установил плагин, и в итоге, он отображается сверху, а потом уже идёт имя, пароль, мейл и т.д.
А как сделать чтобы сапча шла внизу?
В Админке-Компоненты-Community Builder-CB Tab Manager-CB reCAPTCHA-Position:тут надо выбрать Нижняя область под главной
-==Dimir==-
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Re: Плагин CBcaptcha в форме регистрации
« Ответ #7 : 23.07.2010, 10:24:48 »
По-моему там немного по другому, в админке в CB там где Plugin Manager нужно просто этот плагин поставить последним по порядку, и все, должно быть снизу.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Возможность сделать разные типы регистрации

Автор kurz

Ответов: 0
Просмотров: 4386
Последний ответ 03.11.2022, 12:04:04
от kurz
Убрать имя (настоящее) при регистрации и в личном кабинете

Автор Vlad1

Ответов: 6
Просмотров: 3153
Последний ответ 27.09.2022, 22:01:21
от Vlad1
плагин галереи CommunityBuilder v2

Автор biper

Ответов: 0
Просмотров: 1814
Последний ответ 14.06.2016, 13:28:48
от biper
Есть ли 100% рабочая CAPTCHA для регистрации CB 2.0.4?

Автор Torchez

Ответов: 27
Просмотров: 5832
Последний ответ 15.03.2016, 23:33:15
от Bmw258
Выбор Joomla группы при регистрации в CommunityBuilder

Автор andrewbubblegum

Ответов: 9
Просмотров: 5024
Последний ответ 04.03.2016, 12:26:31
от dimasan57