Kanttekeningen
Bekende beperkingen bij het gebruik van cside, met staging- en lokale omgevingen, cross-origin iframes en de afhandeling van inline scripts.
Omgevingen die een ander domein gebruiken
Staging-omgeving
Om cside de edge-infrastructuur nauwkeurig en veilig te laten licensieren, gebruiken wij de referrer-header in de verzoeken om te bepalen of het verzoek afkomstig is van een gelicenseerde klant. Deze aanpak kan enkele kanttekeningen met zich meebrengen.
Als u bijvoorbeeld een staging-omgeving gebruikt, kan cside de edge-infrastructuur voor de scripts niet nauwkeurig licensieren. Dit komt doordat de referrer-header (vaak) een ander domein zal zijn. Dit wordt vaak gezien bij preview-/staging-URL’s die een dynamisch gegenereerd domein gebruiken, zoals Vercel, Netlify en andere platformen.
Lokale omgeving
Wij hebben enkele detectiemechanismen aan het webscript toegevoegd om te helpen met lokale omgevingen, zoals localhost, 127.0.0.1, ::1 en andere gevallen om het webscript automatisch uit te schakelen in die omgevingen. Als u niet wilt dat cside in de lokale omgeving draait, kunt u het cside webscript conditioneel renderen.
Cross-origin iframes
Browsers handhaven het same-origin policy, dat voorkomt dat een script op uw hoofdpagina de inhoud leest van een iframe die vanaf een andere origin is geladen of daarmee interacteert. Daardoor kan het cside-script op uw hoofdpagina de DOM binnen een cross-origin iframe niet zien of monitoren.
Als u een iframe insluit die u zelf bezit en u wilt dat cside monitort wat daarbinnen gebeurt, voeg dan het cside-script toe aan het document dat in de iframe wordt geladen. Het script draait dan in de eigen context van de iframe en kan die DOM rechtstreeks monitoren, net zoals het dat op uw hoofdpagina doet.
U kunt het cside-script alleen toevoegen aan iframes waarvan u de inhoud bezit en kunt wijzigen. cside kan geen iframes van derden monitoren (zoals ingesloten betaalformulieren, advertenties of widgets die vanaf een andere origin worden geserveerd), omdat u geen script kunt injecteren in een document dat u niet beheert.
Dit is geen tekortkoming in uw compliance. Wat er binnen een iframe van derden gebeurt, valt niet binnen de PCI DSS-scope van uw winkel, en dat kan ook niet. U beheert de code in dat document niet, dus de inhoud ervan valt per definitie buiten uw compliancegrens. De partij die de iframe serveert, is verantwoordelijk voor wat daarin draait.
De relevante dreiging is een andere: een kwaadaardig script dat een iframe in uw pagina injecteert. Die injectie gebeurt in de context van uw eigen pagina, en cside kan die detecteren. Het monitoren van de inhoud van een legitieme iframe van derden en het opmerken van een ongeautoriseerde iframe die in uw pagina wordt geïnjecteerd, zijn twee verschillende dingen, en alleen het laatste ligt binnen het bereik van cside.
Inline scripts
cside monitort momenteel geen inline scripts. We zijn van plan in de toekomst ondersteuning toe te voegen voor het monitoren van inline scripts. Wij raden aan om het src-attribuut te gebruiken om uw scripts te laden in plaats van inline te gebruiken. Maar we begrijpen dat dit niet altijd mogelijk is.
Thanks for your feedback!