Understanding adblock methods
Understanding adblock methods
I've followed the evolving situation with AdBlockPlus and, now, ABL, for several months.
Personally, I run PM 25 with ABL and they work very well for me. But it occurred to me that I have zero understanding of how ads are recognized by the plug in and, more specifically, how a site can detect that their ads are being blocked. As an example, this site makes it clear that is has detected blocking: http://mctvconverter.vivolum.net/
Can anyone provide a paragraph of explanation? ... or point me to some introductory documentation. I'd like to be able to understand more of what I read about the issue.
Thanks in advance for any help.
Personally, I run PM 25 with ABL and they work very well for me. But it occurred to me that I have zero understanding of how ads are recognized by the plug in and, more specifically, how a site can detect that their ads are being blocked. As an example, this site makes it clear that is has detected blocking: http://mctvconverter.vivolum.net/
Can anyone provide a paragraph of explanation? ... or point me to some introductory documentation. I'd like to be able to understand more of what I read about the issue.
Thanks in advance for any help.
Re: Understanding adblock methods
Two questions, so two answers:
Ads are normally blocked by these extensions by comparing the source or an element (image/embed/etc.) - meaning, where it is downloaded from - against a list of known ad servers and/or general rules. If the source matches, the element will not be downloaded (and in some cases, the otherwise empty space will be hidden).
"Detection" of ad blockers by websites is commonly done by having the "detected blocking" content in the page that, if and ad is loaded, will either be overlaid or pushed out of view by the ad. If the ad isn't loaded, then the "blocked" text will remain in view, instead. That doesn't necessarily mean the ad blocker is actively detected, though, just that the "fallback" code remains visible because the ad isn't loaded "over" it (because it's blocked).
Ads are normally blocked by these extensions by comparing the source or an element (image/embed/etc.) - meaning, where it is downloaded from - against a list of known ad servers and/or general rules. If the source matches, the element will not be downloaded (and in some cases, the otherwise empty space will be hidden).
"Detection" of ad blockers by websites is commonly done by having the "detected blocking" content in the page that, if and ad is loaded, will either be overlaid or pushed out of view by the ad. If the ad isn't loaded, then the "blocked" text will remain in view, instead. That doesn't necessarily mean the ad blocker is actively detected, though, just that the "fallback" code remains visible because the ad isn't loaded "over" it (because it's blocked).
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
Re: Understanding adblock methods
Thanks for your concise explanation.
It really helps—especially the part about underlying text becoming visible when the ad is missing. I was imagining query or handshaking methods, but I skipped the simplest possibility.
But one issue lingers: Can an adblocker be actively detected? If so, is it possible to block the detection?
It really helps—especially the part about underlying text becoming visible when the ad is missing. I was imagining query or handshaking methods, but I skipped the simplest possibility.
But one issue lingers: Can an adblocker be actively detected? If so, is it possible to block the detection?
Re: Understanding adblock methods
It's not possible for any sort of web content to detect specifics about the browser extensions that are running. This is one of the important security mechanisms in Pale Moon: web content (pages) are considered untrusted content. That kind of content will never have access to trusted content (UI code, extension code running in the chrome context, etc.).context wrote:But one issue lingers: Can an adblocker be actively detected? If so, is it possible to block the detection?
Of course it might theoretically be possible to deduce that a certain extension is running based on specific blocked content, but that's indirect and guesswork (browser behavior analysis when loading specific pages), and has no practical use.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
Re: Understanding adblock methods
From a user’s perspective, all of that sounds positive.
It would seem that the key issue, then, is with those centralized ad lists. If they ever went away, maybe equivalent lists could reside on the user’s PC ... along with a recognition/logging function to keep them up to date. Even if it meant seeing an ad once and then manually tagging the source URL, it would be better than letting ads commandeer the viewspace. That’s just one idea; hopefully there are others. And maybe they won’t be needed, although efforts to monetize the Internet seem here to stay.
I appreciate the responses and insight you’ve provided. Thank you.
It would seem that the key issue, then, is with those centralized ad lists. If they ever went away, maybe equivalent lists could reside on the user’s PC ... along with a recognition/logging function to keep them up to date. Even if it meant seeing an ad once and then manually tagging the source URL, it would be better than letting ads commandeer the viewspace. That’s just one idea; hopefully there are others. And maybe they won’t be needed, although efforts to monetize the Internet seem here to stay.
I appreciate the responses and insight you’ve provided. Thank you.
Re: Understanding adblock methods
I have come across a web page( don't remember the page though) that used JavaScript to detect ads being blocked.
I inspected that page, and following is a rough description how it detected that ad blocker was used.
The code checked for some object to be initialized. If the ad was blocked, the object was not initialized and the page redirected to a page stating to turn off the ad blocker.
I inspected that page, and following is a rough description how it detected that ad blocker was used.
The code checked for some object to be initialized. If the ad was blocked, the object was not initialized and the page redirected to a page stating to turn off the ad blocker.
Re: Understanding adblock methods
Yes,there is a test site,which not only detects my flash,fonts,WebGL,but also ABL and the filters im using.
I missed it,i ll try to find it.
I missed it,i ll try to find it.
Re: Understanding adblock methods
Plugins are supposed to be discoverable. Installed fonts are usually detected through flash. WebGL is supposed to be discoverable, it's a feature/capacity.
Direct detection of ABL and filters in use should not be possible, though.
Direct detection of ABL and filters in use should not be possible, though.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
Re: Understanding adblock methods
Not sure if this helps, but this site will detect that the user is running "an" ad blocker, but it doesn't specify which browser/extension is being utilized.
http://episodecalendar.com/calendar
It takes around 5 seconds for a yellow info bar to drop down from the top section and say, "we've detected you are blocking ads."
http://episodecalendar.com/calendar
It takes around 5 seconds for a yellow info bar to drop down from the top section and say, "we've detected you are blocking ads."
Re: Understanding adblock methods
If i can find out how.. PERHAPS i can mitigate it in the next generation ABL..Supernova wrote:It detected correctly my filter lists.
Re: Understanding adblock methods
Don't think there's a way to block this as it uses manual detection of whether elements were loaded.
Re: Understanding adblock methods
This is, like I said, behavioral checking. It checks the type of blocking applied to a range of known blocked URLs by different extensions and filter lists, then compares those to known lists. It does NOT detect the extension -- note it says "Adblock Plus" which is not Adblock latitude" "Or something generic" so it is most definitely guessing based on results and not detecting the actual browser component.ABP Type !Adblock Plus for Mozilla Firefox [or some generic ads blocking software]
Subscriptions 1
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
Re: Understanding adblock methods
Yep definitely, however that roughly accurate check is pretty much equivalent to direct checking in term of info grabbed.
I also doubt there is a way to avoid it being detected.
I also doubt there is a way to avoid it being detected.
Re: Understanding adblock methods
That was not what was suggested. It was a question of whether a specific adblocker (or other extension) could be detected directly in the browser, which it cannot.Supernova wrote:Yep definitely, however that roughly accurate check is pretty much equivalent to direct checking in term of info grabbed.
I also doubt there is a way to avoid it being detected.
if you don't want to be "detected" this way, you need to build your own adblocking rules from scratch since that would not have a recognizable pattern to what is blocked.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
Re: Understanding adblock methods
FWIW, I'm using BluHell Firewall (adblocker) on this machine, and that site did not detect I was using adblocking.
Their result column specifically states 'ABP Type' and for me returns ABP not detected. So it seems to only detect specifics on ABP if they are present.
Their result column specifically states 'ABP Type' and for me returns ABP not detected. So it seems to only detect specifics on ABP if they are present.
Re: Understanding adblock methods
Funny:
It say i didn't use NoScript - whats wrong. Maybe because i use RequestPolicy too and the script then didn't work Re: Understanding adblock methods
I use the ublock made by github user gorhill! It works in Pale Moon perfectly and I haven't come across any anti-adlbock scripts yet that could detect ublock.