Spring videre til hovedindholdet
Alle samlingerSilktide Analytics
Understøtter Silktide Analytics subresource integrity (SRI) kontroller?
Understøtter Silktide Analytics subresource integrity (SRI) kontroller?
Daniel Towers avatar
Skrevet af Daniel Towers
Opdateret i denne uge

Hvad er subresource integrity?

En relativt moderne webkonvention – Subresource Integrity – tillader din HTML at garantere, at enhver tredjeparts JavaScript, den bruger, er, hvad den forventer.

Dette er en sikkerhedsforanstaltning, der forhindrer skade, hvis det tredjeparts script bliver hacket.

For eksempel, forestil dig, hvis Google Analytics blev hacket, og deres JavaScript blev ændret. Hver hjemmeside, der bruger GA, ville pludselig køre uventet kode, der (for eksempel) kunne være mining af kryptovaluta eller lignende.

Subresource integrity er, hvor du tager normal HTML, der indlæser JavaScript, som dette:

<script src="<https://example.com/example-framework.js>"></script>

Og du udvider det ved at tilføje et integrity attribut, som er en kryptografisk hash, der bruges til at validere, at den JavaScript, den indlæser, er, hvad der forventes:

<script src="<https://example.com/example-framework.js>" integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC" crossorigin="anonymous"></script>

integrity koden skal opdateres, hver gang JavaScript opdateres. Det er dette krav, der gør det vanskeligt at understøtte.

Hvorfor understøttes det ikke generelt af analyseudbydere?

På tidspunktet for skrivningen er vi ikke opmærksomme på nogen større analyseudbyder, der understøtter SRI som standard, inklusive:

  • Google Analytics

  • Adobe Analytics

  • Silktide Analytics

  • Siteimprove Analytics

Hovedårsagen er, fordi det underliggende script ofte ændres, og når det ændres, skal HTML'en, der peger på det, opdateres, ellers vil det stoppe med at virke.

Analyse kode opdateres normalt ret regelmæssigt for at inkorporere nye funktioner, rette fejl og adressere nye browserkapaciteter eller inkompatibiliteter.

Hvad kan du gøre med Silktide Analytics?

Hvis SRI er vigtigt for dig, foreslår vi følgende løsning:

  1. Konfigurer analyse præcis som du vil have det først. Silktide gemmer din analysekonfiguration inde i din analyse JavaScript-fil, så du vil fastsætte disse indstillinger, før du begynder at bruge det. I de fleste tilfælde vil den eneste indstilling, du vil bekymre dig om, være listen over "Tilladte URL'er", der vises under Indstillinger > Generelt.

  2. Download din Silktide Analytics scriptfil. Da din JavaScript-fil vil være specifik for din web ejendom og indeholder konfiguration for din web ejendom, er der ikke en 'standard' Silktide JavaScript-fil, du kan kopiere. Du kan få URL'en til din JavaScript inde i Silktide ved at se din analyse ejendom, gå til Indstillinger > Installation, og se efter src attributten i eksempel koden.

  3. Upload den downloadede JavaScript til dine egne servere eller CDN.

  4. Brug denne SRI Hash generator eller denne guide til at generere din integritetshash.

  5. Tilføj JavaScript-snippet fra tidligere (se ovenfor) til din hjemmeside, men:

  6. Opdater src til at pege på din nye URL, hvor du hoster scriptet.

  7. Tilføj den nye integrity attribut, du genererede.

  8. Tilføj crossorigin="anonymous".

Hvad med opdateringer?

På nuværende tidspunkt er der ingen automatiseret mekanisme til at modtage opdateringer eller meddelelser om opdateringer til vores analyse script.

Dette er fordi (a) det opdateres hver gang du ændrer din analyse konfiguration og (b) vi implementerer opdateringer til kundescripts på en distribueret måde (dvs. patches til vores script implementeres gradvist over flere dage).

Men:

  1. Alle scripts er designet til at være bagudkompatible, hvis dette nogensinde ændres, vil vi underrette alle kunder via e-mail

  2. Opdateringer er generelt relativt sjældne (kvartalsvis)

Generelt kan du sikkert hoste den faste version af analyse scriptet og kun sigte på at opdatere det, hvis du har brug for at foretage en opdatering til din analyse konfiguration (f.eks. ændre URL'erne på din hjemmeside). Hvis større ny funktionalitet eller bagud inkompatible ændringer frigives, vil vi underrette dig.

Fremtidige planer

Vi overvejer at tilføje native support for SRI. Dette er ikke garanteret, men vi værdsætter ønsket om det. Ingen andre, vi kender, har gjort dette, det er ret involveret, og der er nogle brugervenlighedsmæssige afvejninger.

  • Vi ville introducere versioneret JavaScript for dig at hoste (dvs. hver version af din analyse ville blive hostet for evigt, nye udgivelser ville have en ny URL)

  • Analyse ville tilføje en mulighed for at aktivere SRI. Aktivering af dette ville:

    • Ændre deres HTML-snippet til at inkludere automatiserede SRI-attributter og pege på en statisk fil, der mangler dynamisk konfiguration; den dynamiske konfiguration ville blive flyttet ind i snippet

    • Underrette brugeren om at opdatere deres HTML-snippet, hvis de ændrer nogen konfigurationsmuligheder, der kræver det

    • Anmode om eventuelle e-mailadresser for at blive underrettet, når opdateret analyse er tilgængelig; vi ville automatisk e-maile dem, når mindre og større opdateringer sker.

Besvarede dette dit spørgsmål?