ProfiPHPProfiPHP
  1. Главная
  2. Полезное в PHP
  3. Определение AdBlock блокировщика рекламы у пользователя

Определение AdBlock блокировщика рекламы у пользователя

Сегодня у большинства пользователей включен блокировщик рекламы AdBlock, и это факт. Не будем обсуждать, хорошо это или плохо, потому что палка в двух концах. Опишем, как можно определить, включен ли у пользователя AdBlock блокировщик рекламы.

Будем использовать библиотеку FuckAdBlock от пользователя Valentin Allaire.

JS код:
<script src="fuckadblock.js"></script>
<script>
// Function called if AdBlock is not detected
function adBlockDetected(flag){
$.ajax({
type: "POST",
url: "/adblock.php",
data: {'result': flag == true ? 'enable' : 'disabled'},
success: function(data){}
});
}
// We look at whether FuckAdBlock already exists.
if (typeof fuckAdBlock !== 'undefined' || typeof FuckAdBlock !== 'undefined') {
adBlockDetected(false);
} else {
adBlockDetected(true);
}
</script>
В исполняемом файле adblock.php выполняем код:
if (isset($_POST['result']) && $_POST['result'] == 'enable') {
// IP
$ip = getIp();
$file = $_SERVER['DOCUMENT_ROOT'].'/adblock.txt';
// Открываем файл для получения существующего содержимого
$current = file_get_contents($file);
// Добавляем IP
$current .= "$ip \r\n";
// Пишем содержимое обратно в файл
file_put_contents($file, $current);
}
Используем функцию getIp, которая описана в статье Получение реального IP-адреса.

При данной реализации в файл adblock.txt будет записан список IP, у которых включен AbBlock.

Добавить комментарий

Имя:
Текст комментария: