CSP nonce
Cilj: pokrenite OptSens na sajtu sa strogim Content Security Policy podešavanjem, a da stilovi banera ili odblokirane skripte ne budu odbijeni.
OptSens ubacuje <style> element za baner i ponovo kreira blokirane
skripte kada se da saglasnost. Pod strogim CSP-om, pregledač ih blokira
osim ako ne nose dozvoljeni nonce. OptSens čita nonce iz sopstvenog
script taga i primenjuje ga na stilove i skripte koje ubacuje.
Prosledite nonce na snippet-u
Postavite isti nonce po zahtevu koji koristi vaš CSP na OptSens script tag. OptSens ga preuzima i primenjuje na ubačene stilove i na skripte koje odblokira nakon saglasnosti.
<script
src="https://cdn.optsens.com/optsens.min.js/YOUR_DOMAIN_ID"
nonce="RANDOM_PER_REQUEST_NONCE"></script>
Ako vaš framework uklanja standardni atribut nonce iz renderovanog
HTML-a, umesto njega koristite data-nonce. OptSens čita bilo koji od
njih.
<script
src="https://cdn.optsens.com/optsens.min.js/YOUR_DOMAIN_ID"
data-nonce="RANDOM_PER_REQUEST_NONCE"></script>
Generišite nov nasumičan nonce pri svakom zahtevu i koristite potpuno istu
vrednost u svom Content-Security-Policy zaglavlju.
CSP direktive koje su vam potrebne
Minimalna politika koja radi sa OptSens-om:
Content-Security-Policy:
script-src 'self' 'nonce-RANDOM_PER_REQUEST_NONCE' https://cdn.optsens.com;
style-src 'self' 'nonce-RANDOM_PER_REQUEST_NONCE';
connect-src 'self' https://cdn.optsens.com;
img-src 'self' data: https:;
Napomene:
script-srcdozvoljava CDN origin tako da seoptsens.min.jsučita, i nonce kako bi OptSens mogao da ponovo kreira skripte koje odblokira.style-srcdozvoljava nonce kako bi se stilovi banera renderovali. Baner se renderuje unutar shadow root-a, a njegov<style>element nosi nonce.connect-srcdozvoljava session i consent beacon pozivima da dođu do API-ja.img-srcpokriva OptSens logo i eventualni prilagođeni logo banera, koji se serviraju sa CDN-a.
Napomena o skriptama koje odblokirate
OptSens prosleđuje nonce skriptama koje ponovo kreira nakon saglasnosti.
Vaši third-party tagovi i dalje moraju biti dozvoljeni vašom politikom
sami za sebe. Dodajte origin svakog taga u script-src (na primer
https://www.googletagmanager.com), isto kao što biste i bez CMP-a. Nonce
pokriva OptSens, a ne odluke politike za third-party origine.
Provera
- Postavite CSP zaglavlje i odgovarajući nonce, zatim učitajte sajt u privatnom prozoru.
- Baner se prikazuje sa punim stilom, a konzola ne prijavljuje nijedno CSP kršenje za baner.
- Prihvatite kategoriju. Skripte koje OptSens odblokira se pokreću, a konzola ne prijavljuje nijedno nonce kršenje za njih.
Povezane stranice
- Automatsko blokiranje za način na koji se odblokirane skripte ponovo kreiraju.
- Direktni snippet za postavljanje snippet-a.
- Rešavanje problema sa instalacijom ako se baner ne prikazuje.