Многие забивают болт, на дубли, которые летят в пп с расчетом на то, что они все равно отсеиваются в треш, но я задрот всего, что касается различных статистик и люблю в них порядок и чистоту.
Тем более, когда в край ох*евшие ПП любят и без того за счет треша и “невалида” проворачивать свои темные делишки, помогать им в этом точно не стоит.
Одно из очевидных решений и есть уже много таких скриптов, это при нажатии на кнопку отправки формы с данными, скрывать кнопку и показывать гифку имитации загрузки. В целом, это помогает от нетерпеливых скорострелов, которые на интернете со скоростью в 0.1 Мбит ожидают молниеносных загрузок.
Но есть и другие персонажи, которые считают, что чем больше заявок, тем быстрее свяжутся, которым просто нефиг делать или банально хотят заспамить.
В свое время я реализовал альтернативное решение, которое отсеяло львиную долю таких остолопов. Данная метода в какой-то интерпритации точно описывалась арбитранами, я в свою очередь опишу что и как использовал сам. Логика очень простая. В php файлике, который отправляет данные мамонта нашего кормильца в пп и, например, к вам в кейтаро, добавить одну манипуляцию.
Мы проверяем наличие персонализированного coockie, который создается, когда человек оставляет заявку впервые. Если куки например с названием “lohpopalsya” нет, значит передаем данные в пп и создаем такую куку. Если же она есть, значит тело уже создавало заявку и спамить ею в пп и кт не стоит. А значить, пускаем его по альтернативной ветке с показыванием сенкьюпейдж, например и отстуком заполненных данных в отдельный тг канал. Зачем? Очень редко, но бывали случаи, когда человек ошибался, например со своим номером телефона и переоставлял корректную заявку. Честно, за годы таких были единицы, но были. Поэтому пусть лучше отдельно дубли сваливаются в отдельное место, где в случае чего можно найти фикс.
Надеюсь, сама идея описана понятно. По поводу реализации кода, вам поможет даже халявный Chat GPT. Ничего сложного, а аудитория у меня, верю, толковая. Но ниже прикрепляю пример плюс минус как этот выглядит.
<?php
// Проверяем наличие куки 'alreadyorder'.
if (isset($_COOKIE['alreadyorder'])) {
// Блок с кодом если кука уже есть, а значит заявка дубль
// Шлем код в тг, например если уже дубль
// Перенапрявляем на сенкью
header('Location: thankyou.php');
exit;
} else {
// Блок с кодом если заявка уникальная
// Устанавливаем куку 'alreadyorder' со сроком жизни сутки
setcookie('alreadyorder', '1', time() + 86400, "/");
// Вставляем основной код с отправкой постбека в ПП, в кейтару и т.д.
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Order complete</title>
<script>
window.onload = function() {
// Отправка на сенкью
setTimeout(function() {
window.location.href = 'thankyou.php';
}, 1000); // Пауза до редиректа на сенкью
};
</script>
</head>
<body>
</body>
</html>
После внедрения, в некоторых ПП прям сильно проще стало ловить жуликов на махинациях с трешем и невалидом =)
В общем, если кому пригодится, буду рад. А в комментах делитесь своими идеями и историями по поводу дублей.
Полезные сcылки: