Защищаем формы заказов партнерки 8088 от спама
Наверняка многие, кто работает с партнеркой 8088, сталкиваются с проблемой спама в формах заявок, что существенно подрывает конверт и делает лишнюю работу модераторам партнерки.
С недавних пор тоже озадачился этой проблемой и сейчас расскажу как я ее решил.
Начну с того, что страница с формой заявки находится на поддомене одного из моих сайтов. То есть, кроме этой формы на странице больше ничего нет. Так что буду описывать все исходя из этих данных.
Прикручиваем KCaptcha к этой форме. Итак, для начала скачаем архив с kcaptcha к себе и распакуем его. В итоге, увидим такую картину:
/ include captcha.php
Затем открываем /include/kcaptcha_config.php и изменяем все по вкусу. Теперь в той же директории, что и kcaptcha, создадим файлы:
/ index.php func.js
В index.php в самом начале добавляем
Далее, добавляем перед формой партнерки
Вы неверно ввели код с картинки."); } else { $doctor = $_POST['doctor']; $region = $_POST['region']; $name = $_POST['name']; $phoneprefix = $_POST['phoneprefix']; $phone = $_POST['phone']; $comment = $_POST['comment']; $programID = $_POST['programID']; $partnerID = $_POST['partnerID']; // посылаем http запрос на http://partner.8088.ru/query.php $curl = curl_init(); // инициализируем cURL // А дальше устанавливаем опции запроса в любом порядке curl_setopt($curl, CURLOPT_URL, 'http://partner.8088.ru/query.php'); // Здесь устанавливаем URL к которому нужно обращаться curl_setopt($curl, CURLOPT_FAILONERROR, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 3); // устанавливаем таймаут в секундах curl_setopt($curl, CURLOPT_POST, 1); // устанавливаем метод POST curl_setopt($curl, CURLOPT_POSTFIELDS, "doctor=$doctor&region=$region&name=$name&phoneprefix=$phoneprefix&phone=$phone&comment=$comment&programID=$programID&partnerID=$partnerID"); // сам POST запрос curl_exec($curl); //$result = curl_exec($curl); // выполняем запрос и записываем в переменную curl_close($curl); // заканчиваем работу curl die(); //echo $result; // собственно печатаем результат } } ?>
Теперь в форму партнерки добавим одну строчку
echo ' Введите число с картинки <input name="keystring" size="10" type="text" /><img src="captcha.php?'.session_name().'='.session_id().'" alt="" />';
Вот в общем-то и все. Скачать посмотреть пример реализации можно здесь. Не забудьте в форме заменить XXXX на ваш партнерскй id.
05-02-2023
5