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?
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.