Новости Joomla

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™. Интервью с волонтёрами 🎈Ну что, друзья, вот и настал этот долгожданный момент. Мы выпустили первое издание собственного журнала под эгидой NorrNext, который включает в себя интервью с видными деятелями сообщества из разных стран и континентов.Общий нарратив: показать, что нас объединяет (Joomla) и узнать больше о людях, которые вносят свой вклад в развитие платформы в своих сообществах. 20 лет — это много. Давайте же узнаем о коллегах 🎁 Первый цикл включает такие страны, как Австрия, Испания, Латвия, Россия, Румыния, Тайланд, Черногория, Чехия.⚙️ С кем интервью: ✔️ Владимир Елисеев 🇷🇺✔️ Дмитрий Рекун 🇱🇻✔️ Дмитрий Цымбал 🇷🇺✔️ Евгений Сивоконь 🇷🇺 ✔️ Сергей Толкачёв 🇷🇺✔️ Dénes Székely 🇷🇴✔️ Jan Pavelka 🇨🇿✔️ Miljan Vujosevic 🇲🇪✔️ Sergio Iglesias 🇪🇸✔️ Sigrid Gramlinger 🇦🇹✔️ Pisan Chueatchatchai 🇹🇭‼️ Новые интервью будут добавляться до конца декабря 2025. Заходите по ссылке время от времени💡👉 Читать далее

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

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Как известно, форма обратной связи в Joomla может легко использоваться для рассылки спама (вместо базы данных электронных адресов спамеру достаточно иметь список сайтов на Joomla).
Чтобы избавиться от этого недуга - внедрим CAPTCHA собственными силами в стандартный компонент контактов.
Для этого будет использоваться скрипт kcaptcha (хотя возможно использовать и аналоги)

1. В файле /components/com_contact/contact.html.php в функцию _writeEmailForm мы добавим показ защитного изображения и поле для ввода (после строки 694):
Код
<?php echo(_EMAIL_A_COPY); ?>
</label>
<?php
}
?>
<!-- НАЧАЛО КОДА -->
<?php session_start(); ?><br />
<img src="/kcaptcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"
 alt="Включите показ картинок в браузере" />
<br />
<label for="contact_captcha">
Введите код с картинки:
</label>
<br />
<input type="text" name="captcha" id="contact_captcha" value="" size="30" maxlength="10" />
<!--КОНЕЦ ДОБАВЛЯЕМОГО КОДА -->
<br />
<br />

2. Добавим в /components/com_contact/contact.php в функцию sendmail проверку корректности введенного кода (строка382):

Код
$bannedText 	= $mparams->get( 'bannedText', 	'' );
$sessionCheck = $mparams->get( 'sessionCheck', 1 );
 
// НАЧАЛО НАШЕГО КОДА
session_start();
if(!isset($_SESSION['captcha_keystring']) ||
   $_SESSION['captcha_keystring']!==$_POST['captcha']){
unset($_SESSION['captcha_keystring']);
mosErrorAlert('Вы должны корректно ввести код с картинки.');
}
unset($_SESSION['captcha_keystring']);
// КОНЕЦ НАШЕГО КОДА
 
// check for session cookie
if  ( $sessionCheck ) {

3. Скачанный архив kcaptcha загрузим в корень сайта в папку kcaptcha (либо в другой каталог, но тогда придется поправить строку
Код
<img src="/kcaptcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"

Оригинал статьи - http://joomup.com/blog/2007/07/06/captcha-contact-form/

Если мы хотим что то подправить в отображении картинки, нам будет необходимо отредактировать файл kcaptcha\kcaptcha_config.php
Файл достаточно подробно прокомментирован, но на всякий случай повторюсь (переменные, не рекомендуемые для изменения не рассматриваю):
$allowed_symbols - доступные символы для картинок, я оставил только $allowed_symbols = "23456789";
$length - кол-во символов для проверки
$width $height - ширина и высота картинки
$show_credits - показ ссылки на авторов, чтобы убрать - поставить false
$foreground_color и  $background_color - массивы цветов для фона и символов. Можно из закомментировать и расскомментировать две предыдущие строки и посмотреть на результат.
$jpeg_quality - качество генерируемого изображения, чем больше - тем больше вес картинки (не сильно принципиально).

Вот в принципе и все, спасибо авторам за подробные комментарии по данному хаку.
« Последнее редактирование: 04.06.2008, 00:13:52 от Physicist »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание формы обратной связи с помощью комопонета FacilieForms 1.4.7

Автор Fon

Ответов: 0
Просмотров: 27368
Последний ответ 17.03.2008, 08:50:57
от Fon