sitexw / FuckAdBlock

Detects ad blockers (AdBlock, ...)
fuckadblock.sitexw.fr
MIT License
1.9k stars 255 forks source link

Does not work with JS disabled ;) #43

Closed ivan-kolmychek closed 7 years ago

ivan-kolmychek commented 8 years ago

Not sure, if that's an issue for those who plan to use it, but still worth mentioning.

Workaround I see is to request(and insert to page) content async way from JS in function called when adblock is not found, but this conflicts with progressive enhancement and can be kind of harmful (everyone has JS, right?).

Kio-td commented 8 years ago

I have an Idea, and I will ad this to the README.MD File.

MESWEB commented 8 years ago

Best way is to make server side script php for blocking AdBlockers and Tor

Mechazawa commented 8 years ago

@MESWEB why block TOR? A quick and simple way of detecting adblockers without js would be by simply loading a pixel from a file called /ads.php?id={some_uuid}. If it goes through that means ads are enabled else they are blocked.

also hi

ivan-kolmychek commented 8 years ago

@Mechazawa if I understand correctly, the goal of the project is not to merely detect the visitors who block advertisment, but also to prevent them from getting the content or cause enough inconvinience for them to force them to disable the adblocking addon/software.

So, post-fact detection would not be enough.

You indeed can instead serve all content by the "ad-like" URLs so it will be blocked too, but, if your side has enough popularity, you'll be in exceptions in a matter of short time.

So, instead, you can opt to serving the main content and ads from undistinguishable periodicaly changing URLs, but that may also mess with the search engines indexation.

ivan-kolmychek commented 8 years ago

Actually, if you keep the "articles" URLs static but still undistinguishable from URLs of advertisment (i.e. random string, UUID, etc.) you may get past ad blocker in some cases.

But this can be worked arount too - you can block advertisment in this case just by blocking everything by default and white-listing the each particular url you visit.