Технические данные
- Опубликовано:
- 21.08.2023
- Версия:
- 1.0.0
- Установлено:
- Менее 50 раз
- Подходящие редакции:
- «Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Бизнес», «Корпоративный портал», «Энтерпрайз», «Интернет-магазин + CRM»
- Адаптивность:
- Нет
- Поддержка Композита:
- Нет
- Совместимо с Сайты24
- Нет
- Совместимо с PHP 8.1
- Да
Пользовательское соглашение
Описание
«ВАХТЕР» - это защита сайта от ботов и автоматических регистраций (CAPTCHA).
Предусмотрено три типа защиты:
1) Генерация изображения «Случайные буквы»
2) Цифры «прописью»
3) Случайное слово из словаря (можно использовать свои словари)
Большое количество настроек:
Размер, шрифты (можно подгружать свои), наклон, цвета фона и надписей, коэффициент «шума» и т.п.
Преимущества:
Можно создавать свои наборы «вахтеров», неограниченное кол-во вариаций защиты, использовать на сайте для каждой формы различного «вахтера» при необходимости.
Установка модуля из Маркетплейс для любой редакции 1С Битрикс. На сервере – обязательно использование библиотеки GD2.
Настройки для каждого типа защиты разнесены по отдельным вкладкам. На отдельной вкладке редактируются наборы «вахтеров».
Для того, чтобы добавить «вахтера», нужно ввести его название (используется только для человекопонятной идентификации, вы можете назвать его, например «Вахтер для формы обратной связи»). Напротив названия «вахтера» отразится его цифробуквенный код.
Созданный «вахтер» станет доступен на вкладках со всеми вариантами, он появится в поле «Вахтер», следующим за «Основные настройки». Установив для него настройки и сохранив их, вы можете использовать «вахтера» в публичной части сайта.
Например:
в init.php
\Bitrix\Main\EventManager::getInstance()->addEventHandler('main', 'OnPageStart',array('example', 'setBaxtep')
);
class example {
static function setBaxtep() {
global $my_Baxteps;
if (Bitrix\Main\Loader::includeModule('softmajor.baxtep')) {
// инициализация вахтера с id = цифробуквенный код вахтера в административной части, name - это сессионная переменная, в которой будет храниться значение "вахтера"
$my_Baxteps['baxtep1'] = new \SOFTMAJOR\BAXTEP\Img(array('name'=>trim('baxtep1'),'id'=>trim('f0cd01088a73de74e868c0711e74d8c9')));
if (count($_POST) == 0) {
// генерируется значение вахтера, который сохраняется в $_SESSION['baxtep1']
$my_Baxteps['baxtep1']->generateCode();
}
}
}
}
в шаблоне с формой, для которой устанавливается защита, картинка со значением "вахтера" вставляется следующим образом:
<img src="<?=$my_Baxteps['baxtep1']->getUrl();?>" alt="введите код защиты от роботов">
<input type="text" name="baxtep1" size="30" maxlength="10" value="">
после отправки кода необходимо сравнить значение $_SESSION['baxtep1'] и переменной baxtep1 из формы:
if (
(mb_strlen($_SESSION[$this->arParams["USE_BAXTEP_NAME"]]) > 0)
&&
(trim(mb_strtolower($_POST[$this->arParams["USE_BAXTEP_NAME"]])) == mb_strtolower($_SESSION[$this->arParams["USE_BAXTEP_NAME"]]))
)
{
// отправляем форму
} else {
// ошибка
}
В папке «/example/»
пример использования модуля на сайте:
1) Инициализация «Вахтеров» в init.php
2) Тестовый компонент и шаблон тестового компонента
Для вопросов - id@smhost.ru
Время ответа от 5 рабочих дней.