Я в принципе достаточно давно перестал бороться с баннерорезками на форуме, оставляя на совести посетителей решение включать их или нет.
Однако, после того, как за показы рекламы мне Яндекс насчитал 23 рубля, стало любопытно, почему так демотивируют, засранцы... И, собственно, в чем дело.
Среди прочего, простите, заподозрил форумчан том, что в силу аудитории практически все проигнорировали просьбу резак не включать.
Сначала хотел было подключить свой традиционный скрипт, который, хоть и штатный, лежит на форуме, но режется практически всеми глупыми баннерорезаками. Типа зарезали - пишем в лог. Однако, вспомнил, что я сам не так давно писал пособие по баннерорезкам, которые это благополучно обходят.
В итоге было принято решение анализировать высоту нижнего баннера через три секунды после загрузки. Немного некорректный вариант, но сильно углубляться во все это не хотелось. Соответственно, по той же причине решил никакую аналитику не делать, а просто дергать файлик empty.gif со своего хостинга, он внутренней обработки nginx и не требует ресурсов, а посмотреть потом можно по журналу, кто и что.
Итак. У меня нижний баннер размещается в <div> с id='someshit', прямо сразу за баннером я воткнул код
Код:
<if condition="$show['member']">
<script>
setTimeout(() => {
let url = new XMLHttpRequest();
url.timeout = 3000;
url.open('GET', 'https://olegon.ru/empty.gif?$bbuserinfo[username]&h='+document.querySelector('#someshit').offsetHeight, true);
url.send();
}, 3000);
</script>
</if>
то есть, если member, зарегистрированный пользователь, то через 3 сек. выполняется запрос XHR на empty.gif, таймаут 3 сек., среди параметров ник и высота баннера. Все очень просто.
Соответственно, вот сейчас я иду в директорию с журналом и делаю
Код:
grep "empty.gif" olegon.log | grep '&h=0' | cut -d'?' -f2 | cut -d'&' -f1 | sort | uniq
и получаю список
Adamsk
Akiraii
bigboba
binom
Bonpirr
Александр САН1
FlashKiller
grannie
GreenIce
I-Aleksandr-top
Iggy
KventinT
mo3k1408
Nikolay86
Rinchin
sangan67
TraktPivo
Vovantus
Есть некоторое подозрение, что баннеры не отображаются, если страница подгружается где-то в фоне при запуске браузера, так что некоторые могли случайно в список попасть, но, в целом создается впечатление, что эта штука работает.