web-dev-qa-db-fra.com

Aide à déterminer ce qui injecte du code erroné dans mon site Web

Sur mon site Web, je consigne les erreurs côté client. Récemment, un certain nombre de mes utilisateurs ont rencontré l'erreur suivante:

SyntaxError: Unexpected token var

et le "fichier" dans lequel cela se produit est:

data:application/javascript;base64,dmFyIHVyY2hpblRyYWNrZXI9ZnVuY3Rpb24oKXt9LF9nYXE9e3B1c2g6ZnVuY3Rpb24oKXt0cnkge2lmKGFyZ3VtZW50c1swXVswXT09J19saW5rJyl3aW5kb3cubG9jYXRpb24uaHJlZj1hcmd1bWVudHNbMF1bMV19Y2F0Y2goZXIpe319fSxfZ2F0PXtfY3JlYXRlVHJhY2tlcjpmdW5jdGlvbigpe30sIF9nZXRUcmFja2VyOmZ1bmN0aW9uKCl7cmV0dXJue19fbm9TdWNoTWV0aG9kX186ZnVuY3Rpb24oKXt9LF9saW5rOmZ1bmN0aW9uKG8pe2lmKG8pbG9jYXRpb24uaHJlZj1vO30sX2xpbmtCeVBvc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9LF9nZXRMaW5rZXJVcmw6ZnVuY3Rpb24obyl7cmV0dXJuIG87fSxfdHJhY2tFdmVudDpmdW5jdGlvbigpe319fX07Y3hBcGk9e3NldENvb2tpZVBhdGg6ZnVuY3Rpb24oKXt9LGNob29zZVZhcmlhdGlvbjpmdW5jdGlvbigpe319dmFyIF9nYXQ9e19nZXRUcmFja2VyQnlOYW1lOiBmdW5jdGlvbigpe190cmFja0V2ZW50OiBmdW5jdGlvbigpe319fTs=

La chose intéressante est que je n'utilise aucun script encodé en base 64. Si vous décodez en base64 et imprimez joliment le blob ci-dessus, vous obtenez:

var urchinTracker = function() {},
    _gaq = {
        Push: function() {
            try {
                if (arguments[0][0] == '_link') window.location.href = arguments[0][1]
            } catch (er) {}
        }
    },
    _gat = {
        _createTracker: function() {},
        _getTracker: function() {
            return {
                __noSuchMethod__: function() {},
                _link: function(o) {
                    if (o) location.href = o;
                },
                _linkByPost: function() {
                    return true;
                },
                _getLinkerUrl: function(o) {
                    return o;
                },
                _trackEvent: function() {}
            }
        }
    };
cxApi = {
    setCookiePath: function() {},
    chooseVariation: function() {}
}
var _gat = {
    _getTrackerByName: function() {
        _trackEvent: function() {}
    }
};

Cela ressemble vaguement au code de Google Analytics, et j'utilise bien Google Analytics. Mais j'imagine également que Google Analytics ne le fait probablement pas, car je m'attends généralement à ce que les produits Google ne présentent pas d'erreur.

Est-ce que quelqu'un a déjà vu cela auparavant/sait ce que c'est?

1
Mala

Il semble que ce soit l’une des extensions protégeant la confidentialité (Privacy Badger/Ghostery/etc.) l’injectant pour désactiver Google Analytics en remplaçant ses méthodes par des stubs.

1
Mala