В 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% спама. Для более надёжной защиты я рекомендую использовать капчу.