Допустим, вы запустили новенький сайт, запустили на него рекламу и проверили все web-формы. Казалось, что всё должно быть хорошо, а тут он - СПАМ!
Зачем он нужен и для каких целей?
Чаще всего происходит так: ваш сайт добавляют в спам базы и после этого начинают сканировать на наличие форм, ищут адрес, на который приходят значения формы, и делают туда запросы со спам сервера, обходя все защиты написанные на js или стандартные валидаторы формы. Да, безусловно, чтобы объяснить клиенту, что номер нужно задавать валидным, а имя хочется узнать полностью, мы добавляем валидаторы со стороны фронтенда. Ну, а как же спам?
На самом деле защита идёт со стороны как раз той самой принимающей страницы. Так как боты игнорируют саму форму и отправляют данные сразу на файл обработчик. Здесь и поставим точку защиты.
В передаваемом файле добавим передачу идентификации сессии:
<?=bitrix_sessid_post()?>
А в принимаемой части добавим проверку:
<?if(!check_bitrix_sessid()){
die("ACCESS_DENIED");
}?>
Таким образом, мы игнорируем все получаемые значения, приходящие на файл обработчик, если нам не передали значение сессии. А её можно получить только в том случае, если зайти на первоначальную страницу, чего наши боты и не делают.
Ну и немного Боли обычных юзеров, если ставится форма от гугла.
Подписывайтесь, будет интересно!
С Уважением, команда компании QScape.