Page 1 of 1

Could be ABP invisible to sites ? NO. See why.

Posted: Wed Nov 25, 2015 2:25 pm
by kukla
To begin with, I don't know how they can tell that an adblocker is being used, but would it be possible for ABP (or any other adblocker, for that matter), to be written in such a way as to be invisible to sites or services objecting to its use?

If it can't be made invisible, then, similar to the way a user agent can be spoofed, some way of tricking a site into thinking all ads are being accepted.

Re: Re. Sites/Services disabled when using ABP

Posted: Thu Nov 26, 2015 9:10 pm
by mapx
no, there is no possibility to make it invisible.
the adblockers can't be detected directly, but by testing some elements that should be in the page (and ABP blocks or hides). If the elements aren't found, well, they push out some detecting message.

Re: Re. Sites/Services disabled when using ABP

Posted: Wed Dec 02, 2015 4:24 pm
by kukla
mapx wrote:no, there is no possibility to make it invisible.
the adblockers can't be detected directly, but by testing some elements that should be in the page (and ABP blocks or hides). If the elements aren't found, well, they push out some detecting message.
If possible, without getting into the very technical details, can you please explain how a site can see what elements of an ad are being hidden or blocked locally? In other words, how can they see what I'm allowing or not on my computer? How is it possible for a site to get this kind of outgoing feedback about what's being hidden, and why can't that kind of feedback be blocked in some manner?

Re: Re. Sites/Services disabled when using ABP

Posted: Wed Dec 02, 2015 8:05 pm
by lewisje
For example, Javascript can detect something like

Code: Select all

document.getElementById('ad_1').clientHeight > 0 //if false, it was hidden
or

Code: Select all

typeof variableSetByTrackingScript === 'undefined' //if true, the tracking script failed to load
Stuff like this runs on your browser and is able to check the current state of the page, as rendered in your browser, and it's part of how the modern Web works; the anti-Adblock scripts don't even need to report back home about suspected ad-blockers, although they may try.

This is why sometimes UserScripts are used, on a case-by-case basis, to cancel particular anti-Adblock scripts; even this approach isn't perfect, but it's another tool in our arsenal.

A harsher tactic that is useful for primarily text- and image-based pages with little interaction or rich content is to block inline scripts altogether, something that NoScript and uBlock Origin can do; it's what I did for liberallogic101.com (a fun place to learn how the Right misunderstands the Left in the USA) when i couldn't figure out how else to foil its anti-Adblock system (I use a Hosts file to block a certain tracking domain, so the usual ABP-style exceptions didn't work).

Re: Re. Sites/Services disabled when using ABP

Posted: Wed Dec 02, 2015 8:18 pm
by mapx
example:

- go to http://www.videoweed.es/file/407d0ac834987
- click play ==> you'll get an anti adblock message
- why ?

the element (script) http://www.videoweed.es/banner.php?id=4212&size=728x90
is blocked by this filter: /banner.php

the content of that script:
var v728x90=1;

see the page source, this piece of code:

Code: Select all

            var flashvars = {};
			flashvars.width=600;
			flashvars.height=450;

			flashvars.domain="http://www.videoweed.es";
			flashvars.file="407d0ac834987";
			flashvars.filekey="95.233.189.29-52cb354f9d09152002e546d06d721838";
			flashvars.advURL="0";
			flashvars.autoplay="false";
			if (typeof v728x90 !== 'undefined') {
flashvars.cid="1";
} else {
flashvars.cid="104";
}
it's the point where the player will be called with parameters (flashvars)
if the variable v728x90 isnt defined (and due to that blocked script the variable does not exist) ==> the player will be called to display the anti adblock message
(this post was redacted due to legal policy reasons)

and ...they (site owners / webmasters) will search for a new trick ...