Подключение обработчика ссылок.
Генерация ссылки
URL перехода: http://ccl.su/go.php
Или вместо домена ccl.su можете использовать собственный домен из раздела "Мои домены" или любой наш домен из раздела коротких ссылок.
GET параметры перехода:
h_i – (обязательный) ID вашего обработчика, число, которое стоит после символов #H в панели управления обработчиком на CatCut (например, для обработчика #H123 необходимо отправлять 123);
h_u – (обязательный) кодированная в Base64 ссылка, по которой должен быть совершён переход;
h_a – (не обязательный) уникальный ID перехода для генерации подписи (смотрите раздел "Переход с подписью"). 40 - 60 символов, разрешено использовать только заглавные и строчные буквы латинского алфавита, цифры и нижнее подчёркивание "_".
s – (не обязательный) если установлено значение "1", будет скрываться источник перехода (HTTP реферер), в том числе и сам ccl.su. Работает только, если ссылка из параметра h_u на HTTP протоколе.
Пример
Обычная ссылка на главную страницу Google
https://google.com
Ссылка на главную страницу Google с просмотром рекламы через обработчик #H7
http://ccl.su/go.php?h_i=7&h_u=aHR0cHM6Ly9nb29nbGUuY29t
Переход с подписью
Вы можете проверять уникальность каждого прехода по обработанным ссылкам. Это может потребоваться для того, чтобы проверять, что переход был совершен по обработанной ссылке, а не напрямую, без просмотра рекламы. Для этого генерируйте уникальный ID перехода для каждого перехода по ссылке и передавайте его в параметре h_a.
Пример генерации уникального ID перехода (GET параметра h_a)
Можно взять порядковый номер перехода и дополнить его через нижнее подчёркивание ("_") 40 случайными символами латинского алфавита. Для каждого перехода использовать новый ID и новые случайные символы. К примеру, порядковый номер перехода 712532. Таким образом, уникальный ID перехода будет
712532_GBYHqazWSXEDCrfvTGByhnUJMikOLpQAZwsxRFVt
Подпись ссылки
Если параметр h_a передается, то к вашей ссылке, на которую будет совершён переход после просмотра рекламы, будет добавлена подпись в виде дополнительного GET параметра ccviewsign. GET параметр ccviewsign состоит из уникального ID перехода (значение параметра h_a) и через дефис SHA-1 хеша уникального ID перехода и секретного кода обработчика. Проверьте на стороне сервера хеш и был ли ранее совершён переход с таким ID. Если хеш верный и ранее переходов с таким ID не было, можно предоставлять доступ к странице.
Чтобы проверить хеш, возьмите уникальный ID перехода (часть до дефиса параметра ccviewsign) и секретный код обработчика из панели упрвления обработчиком на CatCut. Склейте ID и секретный код один к одному и получите SHA-1 хеш этой строки. Полученный хеш сверьте с тем, который пришел (часть после дефиса параметра ccviewsign), они должны быть одинаковые.
Пример работы подписи ссылки (GET параметра ccviewsign)
Если вы обработаете ссылку http://my-site.com/secret-file с GET параметром h_a, то после просмотра рекламы переход будет совершён на http://my-site.com/secret-file?ccviewsign=UNIC_ID-HASH. То есть ваша ссылка будет дополнена параметром ccviewsign со значением UNIC_ID-HASH. Где UNIC_ID равен GET параметру h_a, дальше дефис, дальше HASH равен SHA-1 хеш UNIC_ID и секретного кода обработчика.
Генерируем ссылки на PHP
Простая PHP функция для генерации ссылок cc_url_handler
Параметры функции
id - ID обработчика;
url - ссылка для перехода;
ask - уникальный ID перехода, по-умолчанию false;
s - флаг скрытия HTTP реферрера, true или false, по-умолчанию false.
==========================
<?php
function cc_url_handler ($id, $url, $ask = false, $s = false) {
$result = "http://ccl.su/go.php?h_i=$id";
$url = base64_encode($url);
$result .= "&h_u=$url";
if($ask){
$result .= "&h_a=$ask";
}
if($s){
$result .= "&s=1";
}
return $result;
}
?>
==========================
Пример использования
Генерируем ссылку без подписи на google.com, для обработчика #H7 (заменить своим).
<?php $cc_link = cc_url_handler(7, "https://google.com"); ?>
Простая PHP функция для проверки подписи cc_view_sign_verif. Возвращает true, если подпись верная или false, если подпись неверная. ВАЖНО: кроме проверки подписи, необходимо проверять, что переход с таким ID ранее никем не совершался.
Параметры функции
sign - подпись ссылки (параметр ccviewsign)
secret - секретный код обработчика.
Генерируем ссылку без подписи на google.com, для обработчика #H7 (заменить своим).
<?php $cc_link = cc_url_handler(7, "https://google.com"); ?>
Проверяем подпись на PHP
Простая PHP функция для проверки подписи cc_view_sign_verif. Возвращает true, если подпись верная или false, если подпись неверная. ВАЖНО: кроме проверки подписи, необходимо проверять, что переход с таким ID ранее никем не совершался.
Параметры функции
sign - подпись ссылки (параметр ccviewsign)
secret - секретный код обработчика.
<?php
function cc_view_sign_verif ($sign, $secret) {
$ex = explode("-", $sign);
$hash = sha1($ex[0].$secret);
if($hash == $ex[1]){
return true;
} else {
return false;
}
}
?>
Пример использования
Секретный код нужно заменить своим из панели управления обработчиком CatCut.
<?php
$cc_secret = "YOURSECRETCODE1234567890";
$cc_sign_ck = cc_view_sign_verif($_GET['ccviewsign'], $cc_secret);
?>
Секретный код нужно заменить своим из панели управления обработчиком CatCut.
<?php
$cc_secret = "YOURSECRETCODE1234567890";
$cc_sign_ck = cc_view_sign_verif($_GET['ccviewsign'], $cc_secret);
?>
Генерируем ссылки на JS
Подключите скрипт на страницу и используйте функцию ccUrlHandler для обработки нужных вам ссылок или генерации ссылок при определённых событиях.
Параметры функции
id - ID обработчика;
url - ссылка для перехода;
ask - уникальный ID перехода, по-умолчанию false;
s - флаг скрытия HTTP реферрера, true или false, по-умолчанию false.
Подключение скрипта ccUrlHandler
<script src="//catcut.net/adv/urlHandler.js"></script>
Примеры использования
Генерируем ссылку без подписи на google.com, для обработчика #H7 (заменить своим).
<script>
var cc_link = ccUrlHandler(7, "https://google.com");
</script>
С помощью селекторов вы можете настроить обработку для всех ссылок на сайте или для конкретного меню, кнопок, разделов, сайтов. В этом примере обрабатываем на странице все ссылки тега <a> с классом cclink, для обработчика #H7 (заменить своим). Код вставляем внизу страницы.
<script>
var x = document.querySelectorAll("a.cclink");
var i;
for (i = 0; i < x.length; i++) {
x[i].href = ccUrlHandler(7, x[i].href);
}
</script>
Вот пример, как можно изменить ссылки только для определённых доменов. Домены drive.google.com, yadi.sk можно дополнить или заменить своими. Обработчик #H7 заменить своим.
<script>
var hdomains = ["drive.google.com", "yadi.sk"];
var elements = document.getElementsByTagName("a");
for (var i=0; i < elements.length; i++)
{
var ckdomain = elements[i].href.replace('http://','').replace('https://','').replace('www.','').split(/[/?#]/)[0];
if(hdomains.indexOf(ckdomain) != -1){
elements[i].href = ccUrlHandler(7, elements[i].href);
}
}
</script>
Можно отслеживать события, и совершать принудительный редирект на показ рекламы. Например, при клике на Play в плеере, увеличении картинки и т.д. В этом примере при клике на элемент elem, производим переход на просмотр рекламы для обработчика #H7 (заменить своим).
<script>
elem.onclick = function() {
document.location.href = ccUrlHandler(7, "http://my-site.com/very-spacial-page");
};
</script>
А вот пример, в котором принудительный редирект на показ рекламы происходит на 60 секунде просмотра страницы. После просмотра рекламы, человек возвращается обратно на страницу. Обработчик #H7 заменить своим.
<script>
setTimeout(function() {
document.location.href = ccUrlHandler(7, document.location.href);
}, 60000);
</script>
Используйте эти примеры по своему усмотрению, со своими корректировками, или подключите обработчик по-своему.
Комментариев нет:
Отправить комментарий