Мои методы борьбы со спамом в веб-формах Vtiger

Мои методы борьбы со спамом в веб-формах Vtiger

В vtiger есть интересный модуль, называется Webforms. Он может сгенерировать специальные html-формы, которые затем вы можете спокойно вставить на свой сайт и получать лиды напрямую в vtiger. Формы можно синтегрировать с различными модулями - лиды, контакты, контрагенты, сделки.

Но в этом инструменте есть один недостаток - возможность попадания спама. В Vtiger для этого разработана интеграция с ReCaptcha. Но не всегда она работает из коробки и не всех она устраивает. Если клиент хочет оставить заявку на сайте, то наличие капчи может просто отпугнуть его.

Я вижу несколько способов защитить форму от ботов.

Один из вариантов - использование honeypot.

Делается это следующим образом. В форму вы добавляете скрытое поле, напирмер:

<input type="text" class="hot" value="">

И через класс hot регулируете видимость поля, скрывая его со страницы. Я не рекомендую использовать hidden, лучше провести скрытие через стили.

Таким образом у вас на экране появится дополнительное скрытое поле, но которое будет доступно ботам. Боты будут думать, что это какое-то важное поле, связанное с именем и будут вставлять в него значения.

Теперь нам остаётся на уровне Vtiger проверять, заполнено ли даннео поле или нет. И если оно не пустое, мы будем считать заявку спамом. Для этого нам потребуется отредактировать файл:

modules/Webforms/capture.php

И после этих строчек:

$moduleLanguageStrings = Vtiger_Language_Handler::getModuleStringsFromFile($currentLanguage);

vglobal('app_strings', $moduleLanguageStrings['languageStrings']);

 

Вставляем наш код по проверки поля:

//honey pot field

        $honeypot = $request['unname'];

$returnURL = false;

try {

            //check if the honeypot field is filled out. If not, send a mail.

            if( $honeypot != '' ){

                throw new Exception ('Sorry, but we blocked your request due to antispam policy');

                return; //you may add code here to echo an error etc.

            }

 

Таким образом, мы можем защитить нашу форму от программных ботов. А это более 60% спама. Для более надёжной защиты я рекомендую использовать капчу.

Популярное

Самые популярные посты

Как быть максимально продуктивным на удалённой работе?
Business

Как быть максимально продуктивным на удалённой работе?

Я запустил собственный бизнес и намеренно сделал всё возможное, чтобы работать из любой точки мира. Иногда я сижу с своём кабинете с большим 27-дюймовым монитором в своей квартире в г. Чебоксары. Иногда я нахожусь в офисе или в каком-нибудь кафе в другом городе.

Привет! Меня зовут Сергей Емельянов и я трудоголик
Business PHP

Привет! Меня зовут Сергей Емельянов и я трудоголик

Я программист. В душе я предприниматель. Я начал зарабатывать деньги с 11 лет, в суровые 90-е годы, сдавая стеклотару в местный магазин и обменивая её на сладости. Я зарабатывал столько, что хватало на разные вкусняшки.

Акция! Профессиональный разработчик CRM за 2000 руб. в час

Выделю время под ваш проект. Знания технологий Vtiger CRM, SuiteCRM, Laravel, Vue.js, Golang, React.js. Предлагаю варианты сотрудничества, которые помогут вам воспользоваться преимуществами внешнего опыта, оптимизировать затраты и снизить риски. Полная прозрачность всех этапов работы и учёт временных затрат. Оплачивайте только рабочие часы разработки после приемки задачи. Экономьте на платежах по его содержанию разработчика в штате. Возможно заключение договора по ИП. С чего начать, чтобы нанять профессионального разработчика на full-time? Просто заполните форму!

Telegram
@sergeyem
Telephone
+4915211100235