IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Webmarketing Discussion :

Comment certains médias s'y prennent-ils pour détecter les bloqueurs de publicité ?


Sujet :

Webmarketing

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 383
    Points : 196 425
    Points
    196 425
    Par défaut Comment certains médias s'y prennent-ils pour détecter les bloqueurs de publicité ?
    Comment certains médias s'y prennent-ils pour détecter les bloqueurs de publicité ?
    Et qu'ont fait les adblockers pour contourner ces mesures ?

    Les bloqueurs de publicité, qui étaient considérés comme une épine dans le pied des régies publicitaires, sont désormais considérés comme une menace pour plusieurs acteurs dans le domaine. Les réactions ont été diverses suite à leur popularité croissante parmi les internautes.

    En octobre 2015, l’IAB (Interactive Advertising Bureau), qui représente les acteurs de la publicité en ligne, a reconnu que « nous nous sommes plantés ». Dans un communiqué, l’organisation s’est lancée dans une autocritique : elle a admis à quel point ses adhérents ont usé et abusé des publicités bloquantes, gênantes et ultra ciblées afin de s'assurer toujours plus de revenus. Aussi, dans l’optique d’éviter de se retrouver dans une impasse, l'IAB a lancé un programme de certification nommé LEAN (Light, Encrypted, Ad choice supported, Non-invasive ads), pour les publicités en ligne réservées aux formats qui sont « légers, chiffrés, qui donnent le choix à l’utilisateur et qui ne sont pas invasives ».

    Certaines plateformes ont choisi de se lancer dans un jeu du chat et de la souris avec les bloqueurs de publicité : tandis qu’ils utilisaient des moyens pour détecter et priver d’accès à leurs contenus les utilisateurs qui se servaient d’un bloqueur de publicité, de leur côté, ces derniers cherchaient des moyens de contourner ce blocage. Cela a été par exemple le cas avec les quotidiens Business Insider et Forbes. Mais comment les plateformes s’y prenaient-elles pour détecter les bloqueurs de publicité ?

    Pour ceux qui ont voulu lire un article sur le site Business Insider et avaient un bloqueur de publicité comme Adblock Plus, ils ont dû tomber sur un message leur indiquant que Business Insider est un média financé par la publicité et ils étaient alors invités à désactiver leur bloqueur de publicité ou à passer à un accès payant.


    Business Insider se sert de piano.io de VX qui est décrit comme étant l’évolution du paywall, un système qui sert à bloquer tout ou partie de l'accès à un site web à l'aide d'un système de paiements. Sur le site, concernant la détection des bloqueurs de publicité, il est expliqué que l’implémentation actuelle pour détecter si un navigateur dispose d’un bloqueur de publicité activé ne dépend que de vous ; cependant, ce simple script va tenter de charger un fichier qui sera bloqué par la plupart des adblockers. Il va alors enregistrer un callback onerror qui va attribuer la valeur true. Par la suite, un callback onload va attribuer la valeur false à __adblocker .

    Piano lit le cookie __adblocker sur le navigateur pour exécuter sa logique. Les règles de la façon dont Piano traite le cookie sont simples :

    Si le cookie __adblocker n'existe pas, l'état adblocker sera enregistré comme non détecté ;
    Si le cookie __adblocker est défini et est soit le booléen true soit la chaîne de caractères "true", l'état adblocker sera enregistré comme activé ;
    Si le cookie __adblocker est vide et que le booléen est défini comme étant false ou alors s’il y a une chaîne de caractères différente de "true", l'état sera enregistré comme désactivé.

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script> 
    var setAdblockerCookie = function(adblocker) {
        var d = new Date();
        d.setTime(d.getTime() + 60 * 60 * 24 * 30 * 1000);
        document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/";
    }
    var script = document.createElement("script");
    script.setAttribute("async", true);
    script.setAttribute("src", "//www.npttech.com/advertising.js");
    script.setAttribute("onerror", "setAdblockerCookie(true);");
    script.setAttribute("onload", "setAdblockerCookie(false);");
    document.getElementsByTagName("head")[0].appendChild(script);
    </script>

    La solution de Piano s’appuie sur la bibliothèque open source FuckAdblock. Pour être plus précis, elle s’appuie sur une version alternative appelée BlockAdblock, « le même projet que FuckAdblock, mais avec un nom plus convenable ».

    La page JavaScript du Business Insider cherche également à vérifier si le fichier FuckAdBlock js ne se charge pas, auquel cas elle détecte que l’utilisateur dispose d’un bloqueur de publicité activé.

    La riposte ?

    Les extensions Chrome ont la possibilité d'intercepter et de modifier les requêtes HTTP via l'API webRequest. Aussi, pour contourner cette détection, UBlock Origin intercepte la demande JavaScript de FuckAdBlock et répond avec un HTTP 307, le code d'une redirection temporaire. L'URL va rediriger vers un JavaScript encodé en base64 qui sera exécuté à la place de FuckAdblock.

    Ce JavaScript alternatif va recréer une version fictive de FuckAdblock qui ne fait rien en réalité. De cette façon, si un fichier externe devait vérifier le statut de FuckAdblock, il verra que la bibliothèque s’est bel et bien chargée.

    Mais FuckAdBlock a une réponse assez astucieuse au contournement d'uBlock. Il recommande l'utilisation de l'attribut d'intégrité pour la balise de script qui charge FuckAdBlock, ce qui fait que le navigateur n’arrive plus à charger la version de JavaScript encodée en base64 étant donné que les hash ne correspondent pas, ce qui va déclencher le callback onerror du script qui s’occupe de la détection. Business Insider n'a pas encore implémenté cette solution pour le moment.

    Et du côté de Forbes, comment est-ce que c’est fait ?


    Comme le Business Insider, Forbes s’appuie également sur une bibliothèque tierce pour détecter la présence d’un bloqueur de publicité : LiftDNA. Contrairement à Piano qui s’appuie sur une solution open source externe, LiftDNA a développé sa propre solution de détection.

    LiftDNA et FuckAdblock présentent quelques similarités dans la façon d’effectuer les contrôles ; sur la page HTML de Forbes figure une chaîne codée en base 64 qui, sous sa forme décodée, contient des noms de classes CSS d’annonces facilement identifiables. Lorsque les bloqueurs de publicités voient ces éléments DOM avec ces noms de classes, ils les masquent immédiatement.

    Du côté de Forbes, le contrôle est un peu plus complexe que chez Business Insider dans la mesure où il crée un élément div contenant entre 5 et 10 noms de classes choisis au hasard dans une grande liste, puis vérifie si l’attribut display prend la valeur none. De cette façon, il est plus difficile de créer des solutions de contournement car vous ne savez pas quelle classe ou quel style sera choisi. Si le code détecte que la balise div est masquée, alors l'utilisateur se sert d’un bloqueur d'annonce. Si ce n'est pas le cas, il définit un cookie et permet à l'utilisateur de continuer sa visite une fois qu’il a cliqué sur continuer. Voici la fonction qui permet de le réaliser :

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    checkBlockedClasses: function() {
                   for (var a, b = Math.random(), c = $(“.ads-container>div”), d = c.length, e = Math.floor(b * d), f = “${classes!}” !== fbs_settings.classes ? JSON.parse(base64.decode(fbs_settings.classes)) : [“dynamic-ads”], g = [], h = this, i = 0; i < 5 || Math.random() < .7 && i < 10; i++) g.push(f[Math.floor(Math.random() * f.length)]);
                   this.rand_classes = g, a = $(’<div class=“’ + g.join(” “) + ’”>’).append(’<div style=“height: 1px;”>’), $(c[e]).before(a), window.navigator.userAgent.indexOf(“Firefox”) > -1 ? setTimeout(function() {
                       a.height() || (h.triggered_by_classes = !0, h.triggerAdBlockState(!0)), a.remove()
                   }, 100) : (“none” === a.css(“display”) && (this.triggered_by_classes = !0, this.triggerAdBlockState(!0)), a.remove())

    La riposte ?

    Forbes a été en mesure de bloquer Adblock / Adblock Plus, mais UBlock Origin a réussi à forcer Forbes à croire que le bloqueur de publicité était désactivé. Comment ?

    Fondamentalement, si l'URL ressemble à la page d'accueil des annonces Forbes, elle définit le cookie 'welcomeAd' comme étant true, et si uBlock peut déterminer l'URL d'un article à partir d'un cookie, alors il redirige automatiquement vers lui.

    Source : Bug Replay, GitHub (UBlock Origin, solution de contournement du blocage de Forbes), Piano (script de détection d'un bloqueur de publicité), FuckAdblock, GitHub (BlockAdblock)

    Voir aussi :

    L'IAB fait un état des lieux de l'écosystème de la publicité et propose des solutions pour que les utilisateurs abandonnent les bloqueurs de pub
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre habitué Avatar de EliXirr
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 62
    Points : 176
    Points
    176
    Par défaut
    M'a bien fait rigoler ce poste merci ^^ Je retourne continuer mes scripts

  3. #3
    Membre expert
    Profil pro
    undef
    Inscrit en
    Février 2013
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : undef

    Informations forums :
    Inscription : Février 2013
    Messages : 957
    Points : 3 523
    Points
    3 523
    Par défaut
    A la fin il y aura tellement de scripts de mesures/contremesures à charger pour pouvoir afficher une page que les sites ne seront plus accessibles qu'aux plus déterminés.

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 28
    Points : 70
    Points
    70
    Par défaut
    A force de se faire insulter par des sites voulant imposer des pubs, les internautes cherchent leurs infos ailleurs, c'tout.
    Les éditeurs de ces sites oublient un peu trop qu'ils ne sont pas uniques, ni indispensables.

  5. #5
    Membre régulier Avatar de sitexw
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 44
    Points : 117
    Points
    117
    Par défaut
    Je dois avouer que je ne m'attendais pas à voir mon script ici ! Et je découvre aussi avec le temps, quelle société l'utilise.

    Pour donner quelques informations supplémentaires sur FuckAdBlock et BlockAdBlock, la V4 (actuellement en bêta) met en place des systèmes de détection additionnel sous forme de plugins. Pour, entre autre, détecter la tentative de corruption de la détection de UBlock Origin (et autres). Mais aussi, la détection HTTP (permet de contrer les blocage de nom de domaine, de régie publicitaire). Et par la suite, plein d'autres plugins (officiels ou non) pour une détection toujours plus adaptée a chaque cas.

    Juste pour info, avant que vous me sautiez dessus, j'ai créé FuckAdBlock dans l'optique simple de détecter les bloqueurs publicitaires, point.
    Après, chaque webmaster/développeur l'utilise à sa guise. Certains l'utiliseront simplement pour informer l'utilisateur des conséquences d'un bloqueur de publicité, quand d'autres l'utiliseront pour faire des statistiques et enfin, certains l'utiliseront pour bloquer le contenu.

  6. #6
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Ça devient ridicule.

    C'est similaire aux protections anti-piratages sur les softs : des utilisateurs avec une licence valide se tournent vers des versions crackées car la protection est top contraignante.
    Bientôt ça sera pareil pour la pub.

    En théorie, il n'y a aucun moyen de forcer l'affichage de la pub, vu que ça se passe coté client; c'est un combat perdu d'avance.

    JS ne sert pas qu'a faire du CSS, ça sert aussi à faire chier les visiteurs. /troll

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 371
    Points : 1 002
    Points
    1 002
    Par défaut
    Ah c'est vraiment drole ces médias qui mettent tant d'énergie à vouloir imposer la pub à leur lecteur. Franchement si autant d'énergie et de rigueur était mis dans leur article ca éviterait que les médias actuel ne servent plus que de PQ tellement la propagande est grossière.

    Bref ca se dit libre et indépendant mais pas indépendant vis à vis des annonceur et de la pub hein faut pas déconner non plus

  8. #8
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    C'est marrant avec Opéra et l'extension "AdBlocker Ultimate" je n'ai pas de blocage sur ces 2 sites
    Rien, je n'ai plus rien de pertinent à ajouter

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 0
    Points
    0
    Par défaut On y revient...
    ... lorsque les esclaves se révoltent, les maîtres tremblent!, on retrouve les mêmes similitudes en politique et en biologie, trop tue même le peu.

  10. #10
    Membre régulier
    Profil pro
    developpeur
    Inscrit en
    Mai 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : Mai 2013
    Messages : 43
    Points : 87
    Points
    87
    Par défaut
    En tout cas, quand on voit l'efficacité de Ublock Origin sur la qualité du surf, on ne peut plus faire machine arrière et attendre bêtement que tous les serveurs de pub aient terminé de nous livrer leur chiasse :-)

  11. #11
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Deux choses me tarabustent dans cette "lutte" qui se déroule dans la mémoire de nos PC.

    En effet, pour arriver à imposer de la publicité non bloquable, les éditeurs en arrivent à mettre en place des outils en charge d'espionner, à notre insu, la mémoire et les process de notre navigateur, à y introduire des scripts qui n'ont aucun rapport avec le contenu des sites, à faire transiter des données qui nous sont personnelles sans notre accord. Ne serions-nous pas, ici, dans le cadre d'une intrusion dans un système informatique répréhensible ?

    Sans compter que c'est nous qui payons le trafic généré par ces différents échanges de données, y compris les publicités en vidéo qui, sur un forfait mobile, imputent notablement un forfait pour un apport utilisateur très discutable. Là aussi il faudrait réfléchir à une autorisation préalable de l'utilisateur pour consommer sa bande passante.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/10/2020, 23h56
  2. Réponses: 0
    Dernier message: 01/08/2013, 17h08
  3. Réponses: 9
    Dernier message: 01/12/2010, 11h17
  4. Réponses: 1
    Dernier message: 12/06/2010, 23h31
  5. comment adapter un programme vb 6.0 pour tous les écran
    Par saidm dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/05/2009, 16h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo