Dokumentationsmenu
SDK'ets sikkerhed
Sikkerhed i CookieHug-SDK'et: beskyttelse mod XSS, isolering af styles, beskyttelse mod dobbelt indlæsning, fail-open-adfærd og minificering.
Sikkerhed
Beskyttelse mod XSS
Al brugerleveret tekst (bannerets overskrift, beskrivelse, knapetiketter, cookienavne og -beskrivelser, i18n-oversættelser) renses med escapeHtml(), før den indsættes i innerHTML. Det forhindrer injektion af HTML eller scripts via konfigurations- eller oversættelsesværdier. Tekster, der sættes via textContent (f.eks. opdatering af en knapetikette, når et afkrydsningsfelt ændres), escapes ikke to gange — textContent gør det selv.
Beskyttelse mod style-injektion
Alle CSS-værdier fra konfigurationen (farver, hjørneradius, knapstile) føres gennem sanitizeStyleValue(), som fjerner farlige tegn og tillader sikre CSS-funktioner som rgb(), rgba(), hsl(), hsla() og calc(). Farlige mønstre (url(), expression(), javascript:) blokeres helt. Objektet customStyles anvendes via en hvidliste over sikre CSS-egenskaber: fontFamily, fontSize, fontWeight, lineHeight, backgroundColor, borderRadius, border, boxShadow, padding, margin, width, maxWidth, minWidth, zIndex, opacity, color, letterSpacing.
Beskyttelse mod dobbelt indlæsning
SDK'et bruger en tofaset beskyttelse mod dobbelt initialisering: _booting: true sættes med det samme, når SDK-objektet oprettes, mens _initialized: true først sættes efter en vellykket initialisering. Fejler initialiseringen på et hvilket som helst tidspunkt (manglende script-tag, ugyldig licens, konfigurationsfejl, runtime-undtagelse), sætter failBoot() _booting tilbage til false, så et nyt forsøg er muligt.
Fail-open-beskyttelse
Alle API-forespørgsler (licensverifikation, konfiguration, oversættelser, cookies) bruger en timeout på 5 sekunder via AbortController. Kan CookieHugs server ikke nås (netværksfejl eller timeout), skifter SDK'et til fail-open-tilstand: alle blokerede scripts frigives, banneret springes over, og der logges en advarsel i konsollen. Dermed kan et nedbrud på CookieHugs server ikke ødelægge kundens websted. En udtrykkelig afvisning af licensen (HTTP 403) blokerer stadig banneret — kun netværksfejl udløser fail-open. Alle fejl logges som [CookieHug]-advarsler i browserens konsol for at gøre fejlfinding let.
Minificeret version
Et minificeret build (cookieconsent.min.js) findes på samme basis-URL. Både /cookieconsent.js (fuld) og /cookieconsent.min.js (minificeret) leveres med CORS-headere.