Блог Битрикс программиста. Мой личный опыт

Самый популярный запрос в технической поддержке битрикс - как защитить веб форму от атак ботов. Давайте расскажу как это сделать и помогу вам убрать эту дыру в защите

Автоматические боты постоянно слоняются по интернету и пытаются залезть во все щели. Сегодня мы заткнем еще 1 дыру.


Для этого идем в init.php и добавляем следующий код:


 

\Bitrix\Main\EventManager::getInstance()->addEventHandler("main", "OnEndBufferContent", "OnEndBufferWebFormAntiSpam");
function OnEndBufferWebFormAntiSpam(&$content)
{
 // Добавляем стили перед head $xStyle = '
'; // Стили для поля $content = str_ireplace('', $xStyle.'', $content); 
// Добавляем поля $findField = '
addEventHandler('form', 'onBeforeResultAdd', 'onBeforeResultAddWebFormAntiSpam');
function onBeforeResultAddWebFormAntiSpam($WEB_FORM_ID, &$arFields, &$arrVALUES){ global $APPLICATION; // Проверяем поле на заполненость
if(!empty($arrVALUES['last_name'])){ $APPLICATION->ThrowException('Хм... ты точно не робот?'); }
}


Суть данного метода сводится к тому что мы вставляем фейковые поля, при заполнении которых происходит блокировка действия.

Денис Бунаков

C 2012 года разрабатываю и поддерживаю сайты на 1С Битрикс. У меня вы можете заказать услуги по разработки или поддержке сайта на битриксе

Блог Битрикс программиста. Мой личный опыт