Subresource Integrity - SRI Hash ES

Subresource Integrity - Hash SRI

Al igual que la CSP, el SRI es una función de seguridad que permite a los navegadores verificar que los archivos que descargan (por ejemplo, desde un CDN) no han sido manipulados inesperadamente. Esto funciona al permitir proporcionar un hash criptográfico con el que el archivo recuperado debe coincidir.
Para permitir que Eulerian funcione en un contexto con SRI, necesitas utilizar una versión fija del JavaScript de Eulerian. Nuestros servidores te permiten fijar la versión con la que vas a trabajar.

Modelo de ejemplo para implementación con SRI

<script>
let EA_vers = '<EA_VERSION>';
let EA_sri = '<EA_SRI_SHA_STRING>';
 
(function(e,a){var i=e.length,y=5381,k='script',s=window,v=document,o=v.createElement(k);for(;i;){i-=1;y=(y*33)^e.charCodeAt(i)}y='_EA_'+(y>>>=0);(function(e,a,s,y){s[a]=s[a]||function(){(s[y]=s[y]||[]).push(arguments);s[y].eah=e;};}(e,a,s,y));i=new Date/1E7|0;o.ea=y;y=i%26;
o.async=1;o.crossOrigin='anonymous';o.integrity=EA_sri;e+='/fv/'+EA_vers;
o.src='//'+e+'/'+String.fromCharCode(97+y,122-y,65+y)+(i%1E3)+'.js?2';s=v.getElementsByTagName(k)[0];s.parentNode.insertBefore(o,s);})
('mon.domainedetracking.com','EA_push');
</script>

Ejemplo de implementación

¡No copiar/pegar! Debe adaptarse según tu propia configuración SRI.
<script>
let EA_vers = '5.5.1';
let EA_sri = 'sha256-hkhVx+B05oiOChsViCasVOlEaE18JlE3aBxTzJEvUXo=';
 
(function(e,a){var i=e.length,y=5381,k='script',s=window,v=document,o=v.createElement(k);for(;i;){i-=1;y=(y*33)^e.charCodeAt(i)}y='_EA_'+(y>>>=0);(function(e,a,s,y){s[a]=s[a]||function(){(s[y]=s[y]||[]).push(arguments);s[y].eah=e;};}(e,a,s,y));i=new Date/1E7|0;o.ea=y;y=i%26;
o.async=1;o.crossOrigin='anonymous';o.integrity=EA_sri;e+='/fv/'+EA_vers;
o.src='//'+e+'/'+String.fromCharCode(97+y,122-y,65+y)+(i%1E3)+'.js?2';s=v.getElementsByTagName(k)[0];s.parentNode.insertBefore(o,s);})
('mj23.eulerian.com','EA_push');
</script>
Se especifican dos parámetros “estáticos” que deberás reemplazar:
  • <EA_VERSION>: La versión del archivo principal ea.js.Para encontrar la versión que deseas utilizar, ve a esta dirección (reemplaza con tu dominio de tracking):


Obtendrás una lista de versiones disponibles. Elige una (preferentemente la más reciente).
Esta es tu variable <EA_VERSION> a reemplazar.


  • <EA_SRI_SHA_STRING>: El resultado del hash, precedido por su tipo (sha256, sha384 o sha512) seguido de un guion.Elige uno de los hashes disponibles (sha256, sha384, sha512) —al que llamaremos <HASH>— y ve a la siguiente dirección

 mon.domainedetracking.com/fv/ <EA_VERSION>/ea.<HASH>.txt?2

Ejemplo con nuestro sitio  www.eulerian.com , utilizando el dominio de tracking mj23.eulerian.com y un sha256:


Obtendrás el hash actual de esa versión del JavaScript. Una vez que lo precedas con sha<HASH>-, esa será tu variable <EA_SRI_SHA_STRING> a reemplazar.

Con nuestro ejemplo: uuQ2A5JrShq7Hbj6PlnRdnpJ/N4mU9RkLHJEy8kp7Lo=

La variable <EA_SRI_SHA_STRING> será entonces:sha256-uuQ2A5JrShq7Hbj6PlnRdnpJ/N4mU9RkLHJEy8kp7Lo=