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

  1. #1
    Chroniqueur Actualités
    Avatar de Patrick Ruiz
    Homme Profil pro
    Redacteur web
    Inscrit en
    février 2017
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Redacteur web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : février 2017
    Messages : 758
    Points : 26 386
    Points
    26 386

    Par défaut Chrome 76 va permettre un contournement plus aisé des murs de monétisation via un mode Incognito « invisible »

    Chrome 76 va permettre un contournement plus aisé des murs de monétisation
    En s’appuyant sur un mode Incognito « invisible »

    Qui, en parcourant la toile à la recherche d’une information, n’est pas encore tombé sur une fenêtre qui signale que « vous êtes arrivés à la limite du nombre d’articles consultables » ?

    Nom : paywall.jpg
Affichages : 2878
Taille : 97,7 Ko

    Une chose est sûre, des d’internautes se heurtent à cette difficulté et sur la même source d’informations (Internet), l’une des solutions que des tiers proposent est de passer en mode de navigation privée ou mode Incognito. L’usage de tels stratagèmes met la presse en ligne payante à mal, mais cette dernière trouve des solutions. Elles consistent en l’intégration de fonctions de détection du mode Incognito à leur système de gestion d’accès aux contenus en ligne. Sur la toile, on peut retrouver le code JavaScript sur lequel des éditeurs comme le Boston Globe s’appuient pour l’atteinte de cet objectif.


    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    // credit https://www.bostonglobe.com
     
    function isIE10OrLater(user_agent) {
        var ua = user_agent.toLowerCase();
        if (ua.indexOf('msie') === 0 && ua.indexOf('trident') === 0) {
            return false;
        }
        var match = /(?:msie|rv:)\s?([\d\.]+)/.exec(ua);
        if (match && parseInt(match[1], 10) >= 10) {
            return true;
        }
        // MS Edge Detection from this gist: https://gist.github.com/cou929/7973956
        var edge = /edge/.exec(ua); 
    	if (edge && edge[0] == "edge") { 
    		return true; 
    	}
        return false;
    }
     
    function detectPrivateMode(callback) {
    	    var is_private;
     
    	    if (window.webkitRequestFileSystem) {
    	        window.webkitRequestFileSystem(
    	            window.TEMPORARY, 1,
    	            function() {
    	                is_private = false;
    	            },
    	            function(e) {
    	                console.log(e);
    	                is_private = true;
    	            }
    	        );
    	    } else if (window.indexedDB && /Firefox/.test(window.navigator.userAgent)) {
    	        var db;
    	        try {
    	            db = window.indexedDB.open('test');
    	        } catch(e) {
    	            is_private = true;
    	        }
     
    	        if (typeof is_private === 'undefined') {
    	            retry(
    	                function isDone() {
    	                    return db.readyState === 'done' ? true : false;
    	                },
    	                function next(is_timeout) {
    	                    if (!is_timeout) {
    	                        is_private = db.result ? false : true;
    	                    }
    	                }
    	            );
    	        }
    	    } else if (isIE10OrLater(window.navigator.userAgent)) {
    	        is_private = false;
    	        try {
    	            if (!window.indexedDB) {
    	                is_private = true;
    	            }                 
    	        } catch (e) {
    	            is_private = true;
    	        }
    	    } else if (window.localStorage && /Safari/.test(window.navigator.userAgent)) {
     
    	        // One-off check for weird sports 2.0 polyfill
    		    // This also impacts iOS Firefox and Chrome (newer versions), apparently
    	        // @see bglobe-js/containers/App.js:116
    	        if (window.safariIncognito) {
    	        	is_private = true;
    	        } else {
    						try {
    						   window.openDatabase(null, null, null, null);
    						} catch (e) {
    						   is_private = true;
    						}
     
    	        	try {
    		            window.localStorage.setItem('test', 1);
    		        } catch(e) {
    		            is_private = true;
    		        }
    	        } 
     
    	        if (typeof is_private === 'undefined') {
    	            is_private = false;
    	            window.localStorage.removeItem('test');
    	        }
    	    }
     
     
     
    	    retry(
    	        function isDone() {
    	            return typeof is_private !== 'undefined' ? true : false;
    	        },
    	        function next(is_timeout) {
    	            callback(is_private);
    	        }
    	    );
    }

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    // credit https://www.breakingviews.com/
     
    function incognitoBrowsers() {
      return new Promise(function(resolve) {
          var on = function() {
              resolve(!0)
          }
            , off = function() {
              resolve(!1)
          };
          if (!window.webkitRequestFileSystem) {
              if ('MozAppearance'in document.documentElement.style) {
                  var db = indexedDB.open('test');
                  return db.onerror = on,
                  void (db.onsuccess = off)
              }
              if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
                  var isPrivate = !1;
                  try {
                      window.openDatabase(null, null, null, null)
                  } catch (_) {
                      isPrivate = !0
                  }
                  isPrivate ? on() : off()
              }
              return off()
          }
          window.webkitRequestFileSystem(0, 0, off, on)
      })
    }

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    /* eslint-disable consistent-return */
     
    let on;
    let off;
     
    const isSafari = () => {
      if (Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0) {
        return true;
      }
     
      if (
        // eslint-disable-next-line no-undef
        (!window.safari || safari.pushNotification).toString() === '[object SafariRemoteNotification]'
      ) {
        return true;
      }
     
      try {
        return window.localStorage && /Safari/.test(window.navigator.userAgent);
      } catch (e) {
        return false;
      }
    };
     
    const isMozilla = () => 'MozAppearance' in document.documentElement.style;
     
    const Webkit = () => {
      if (window.webkitRequestFileSystem) {
        window.webkitRequestFileSystem(window.TEMPORARY, 1, off, on);
        return true;
      }
    };
     
    const Mozilla = () => {
      if (isMozilla()) {
        const db = indexedDB.open('test');
        db.onerror = on;
        db.onsuccess = off;
        return true;
      }
    };
     
    const Safari = () => {
      if (isSafari()) {
        // iOS 11
        // Origin: https://gist.github.com/cou929/7973956#gistcomment-2272103
        try {
          window.openDatabase(null, null, null, null);
        } catch (e) {
          on();
          return true;
        }
     
        // Older Safari
        try {
          if (localStorage.length) off();
          else {
            localStorage.x = 1;
            localStorage.removeItem('x');
            off();
          }
        } catch (e) {
          // Original gist: https://gist.github.com/jherax/a81c8c132d09cc354a0e2cb911841ff1
     
          // Safari only enables cookie in private mode
          // if cookie is disabled then all client side storage is disabled
          // if all client side storage is disabled, then there is no point
          // in using private mode
          navigator.cookieEnabled ? on() : off(); // eslint-disable-line no-unused-expressions
        }
     
        return true;
      }
    };
     
    const IE10Edge = () => {
      if (!window.indexedDB && (window.PointerEvent || window.MSPointerEvent)) {
        on();
        return true;
      }
    };
     
    export const checkPrivate = (onCb, offCb) => {
      on = onCb || (() => {});
      off = offCb || (() => {});
      Webkit() || Mozilla() || Safari() || IE10Edge() || off(); // eslint-disable-line no-unused-expressions
    };
     
    export const checkPrivateWhitelist = (onCb, offCb) => {
      const whitelistOn = onCb || (() => {});
      const whitelistOff = offCb || (() => {});
     
      const privateButAllowed = [
        'FBAV',
        'FBAN',
        'FBIOS',
        'FBBV',
        'FBDV',
        'FBMD',
        'FBSN',
        'FBSV',
        'FBSS',
        'FBCR',
        'FBID',
        'FBLC',
        'FBOP',
        'Twitter for iPhone',
        'TwitterAndroid',
        'nytios',
        'nytiphone',
        'nytipad',
        'nyt-android',
        'AppleNews',
        'Flipboard',
      ];
     
      const re = new RegExp(privateButAllowed.join('|'), 'i');
      if (re.test(navigator.userAgent)) {
        whitelistOn();
        return true;
      }
     
      whitelistOff();
      return false;
    };

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    function detectPrivateMode(cb) {
      if(
        navigator.userAgent.indexOf('WebKit') !== -1
        && navigator.userAgent.indexOf('Mobile') !== -1
      ){
        try {
          window.openDatabase(null, null, null, null);
          cb(false);
        } catch (_) {
          cb(true);
        }
      }else{
        var db,
        on = cb.bind(null, true),
        off = cb.bind(null, false)
        function tryls() {
            try {
                localStorage.length ? off() : (localStorage.x = 1, localStorage.removeItem("x"), off());
            } catch (e) {
                navigator.cookieEnabled ? on() : off();
            }
        }
        window.webkitRequestFileSystem ? webkitRequestFileSystem(0, 0, off, on)
        : "MozAppearance" in document.documentElement.style ? (db = indexedDB.open("test"), db.onerror = on, db.onsuccess = off)
        : /constructor/i.test(window.HTMLElement) || window.safari ? tryls()
        : !window.indexedDB && (window.PointerEvent || window.MSPointerEvent) ? on()
        : off()
      }
    }

    La bêta de Chrome 76 est disponible depuis peu. Avec cette dernière, les ingénieurs de Google annoncent des changements qui mettent à mal les scripts de détection que les éditeurs en ligne intègrent à leurs systèmes de gestion d’accès aux articles. « Le mode Chrome Incognito est détectable depuis des années, du fait l'implémentation de l'API FileSystem. À partir de Chrome 76, c'est corrigé. Toutes mes excuses pour les scripts de détection en mode privé qui existent », indique Paul Irish de Google. À partir de Chrome 76, le navigateur de Google ne transmettra plus l’information qui permet de savoir si le mode Incognito est activé ou non ; c’est dire que Google propose une espèce de mode Incognito « invisible ».

    Nom : paul irish.png
Affichages : 1049
Taille : 123,9 Ko

    Sevré de la capacité à détecter le mode Incognito, il est impossible à un éditeur en ligne de s’appuyer sur les cookies pour savoir si l’internaute est un abonné ou un tiers qui a dépassé son quota d’articles. On se doute bien qu’il s’agit d’une solution qui ne saurait s’imposer de façon définitive puisque les éditeurs en ligne iront à l’abordage pour trouver des voies de contournement. Paul Irish pour sa part semble ne pas vouloir inciter les internautes à faire un usage systématique de cette possibilité pour accéder à des contenus payants.

    « Devenir abonné à vos sources préférées de journalisme de qualité est incroyablement enrichissant. Si vous pouvez vous le permettre, je vous encourage à payer la poignée de dollars nécessaire », a-t-il ajouté.

    En effet, chez Google, on s’est penché sur la question de l’implémentation de l’API FileSystem depuis la version 74 du navigateur. La manœuvre vise à éviter que des sites tiers puissent déterminer si un internaute est en mode de navigation normale ou privée. Comme quoi, chez Google, on est aussi soucieux de l’aspect vie privée des utilisateurs du navigateur.

    Source : blog Chromium

    Et vous ?

    Qu’en pensez-vous ?

    Voir aussi :

    Google Chrome 75 est maintenant disponible avec 42 correctifs de sécurité et de nouvelles fonctionnalités
    La version 75 de Google Chrome rendra les sites web incapables de détecter le mode Incognito, mais on peut déjà tester cette fonctionnalité sur Chrome
    Google apporte des modifications à une API Chrome pour empêcher que les sites ne détectent le mode Incognito à partir de Chrome 74
    Google Chrome 73 prendra en charge les touches multimédias de votre clavier et sera aussi livré avec l'API "Media Session"
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre extrêmement actif
    Femme Profil pro
    None
    Inscrit en
    août 2012
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : None

    Informations forums :
    Inscription : août 2012
    Messages : 291
    Points : 556
    Points
    556

    Par défaut

    Si je comprends bien l'article, la solution la plus simple pour mettre le dawa c'est d'utiliser un plugin pour changer son user-agent et mettre n'importe quoi à la place, mais ça du coup c'est disponible depuis très longtemps sur plusieurs navigateur donc on peut le faire soi-même.
    J'ai fais des fautes dans mon message ? Bah ça arrive... Tout le monde fait des fautes, je ne fais pas exception. Des fois parce que j'écris trop vite, parfois parce que je suis fatiguée, parfois parce que je ne me relis pas parce que je n'ai pas le temps, ou la flemme (genre à 4h du matin).
    Alors si vous voulez me répondre sur le fond de mon message en glissant un petit "fait attention aux fautes" OK. Mais si votre message consiste juste à surligner toutes les fautes comme un maniaque, sans rien apporter à la discussion, faites-le par MP, ça évitera de polluer.
    Merci

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2011
    Messages : 12
    Points : 15
    Points
    15

    Par défaut

    Citation Envoyé par TheLastShot Voir le message
    Si je comprends bien l'article, la solution la plus simple pour mettre le dawa c'est d'utiliser un plugin pour changer son user-agent et mettre n'importe quoi à la place, mais ça du coup c'est disponible depuis très longtemps sur plusieurs navigateur donc on peut le faire soi-même.
    Le top est de prendre un user-agent de moteur de recherche Sa ouvre des portes.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/06/2010, 12h42
  2. Réponses: 5
    Dernier message: 19/05/2006, 15h22
  3. Afficher le plus petit des nombres
    Par wkm1807 dans le forum Access
    Réponses: 1
    Dernier message: 05/10/2005, 23h46

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