В регистрационной форме Joomla нет captcha.
Это может привести к тому, что начнёт быстро расти количество регистраций :)
Добавить captcha можно с помощью компонента tinCaptcha . Добавить captcha можно и с помощью какого-то другого компонента, но мне понравился этот - небольшой компонент, который можно интегрировать в свой компонент Joomla.
В описании компонента есть инструкция как добавить captcha в компонент контактов.
По аналогии с добавлением tinCaptcha в компонент контакты, сделаем добавление проверочного кода в форму регистрации Joomla.
Создадим в текущем шаблоне папку html/com_user/register/
Скопируем туда из папки /com_user/views/register/tmpl/ файл default.php.
Добавим в этот файл после строк (или в другое место, сами можете выбрать):
<tr><td colspan="2" height="40"> <?php echo JText::_( 'REGISTER_REQUIRED' ); ?> </td></tr>
следующий код:
<!-- tincaptcha- -->
<br />
<label for="captcha">
<?php echo JText::_( 'TIN_CAPTCHA' ); ?>:
</label>
<input type="text" name="captcha" id="captcha" size="10" class="inputbox required" value="" />
<br />
<img name="captchaimg" src="index.php?option=com_tincaptcha&task=captcha_display" alt="<?php echo JText::_( 'TIN_CAPTCHA' ); ?>" />
<a href="javascript:void(0);" onclick="document.images['captchaimg'].src='index.php?option=com_tincaptcha&task=captcha_display&t='+(new Date()).getTime();return false;"><?php echo JText::_('TIN_REFRESH'); ?> </a>
<!-- -tincaptcha -->
Теперь в файл controller.php , который находится в папке com_user/
после строк:
function register_save()
{
global $mainframe;
// Check for request forgeries
JRequest::checkToken() or jexit( 'Invalid Token' );
добавим такой код:
// tincaptcha-
$captchk = plgSystemTincaptcha::check(JRequest::getVar('captcha', '', 'post'));
if ($captchk !== true)
{
JError::raiseWarning(0, $captchk);
echo '<meta http-equiv="refresh" content="3;URL=javascript: history.go(-1)" />';
return false;
}
// -tincaptcha
Вот и все.
Я бы еще заменил шрифты, которые используются в данной captcha - сложно распознать что там за буква :)
В папке plugins/system/tincaptcha/fonts удалить шрифты и добавить туда какой-нибудь другой, более понятный ttf шрифт, хотя он будет понятнее и для спам роботов).