Content Security Policy (CSP) is een browserbeveiligingsmechanisme dat bepaalt welke externe bronnen — scripts, lettertypen, stylesheets en API-verbindingen — op uw webpagina mogen laden. Als je site een bestaande CSP heeft en je de Document360-widget inbeddingt, moet je de vertrouwde bron-URL's van de widget aan je beleid toevoegen. Zonder deze toevoegingen blokkeert de browser widgetbronnen, wat symptomen veroorzaakt zoals ontbrekende scrollbalken, geblokkeerde lettertypen, mislukte API-aanroepen of CSP-overtredingfouten in de browserconsole.
Voordat je begint
- Bevestig of je kennisbank wordt gehost in de VS of de EU-regio — de vertrouwde bron-URL's verschillen per regio.
- Zorg ervoor dat je toegang hebt tot de HTML- of serverconfiguratie van je site om de
Content-Security-Policyheader of<meta>tag te bewerken. - Identificeer de nonce-variabele die al beschikbaar is in je systeem. Je zult in de codevoorbeelden deze waarde moeten vervangen
"document360Nonce".
Hoe voeg je vertrouwde CSP-bronnen toe voor de Document360-widget
Werk je Content Security Policy bij
Voeg de volgende bronnen toe aan je connect-src, script-src-elem, font-src, en richtlijnen style-src-elem .
Voor Amerikaanse gebruikers
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Security-Policy" content="
connect-src
https://2ql92r65q8-dsn.algolia.net/
https://apihub.us.document360.io/
https://api.us.document360.io/
https://gateway.us.document360.io
https://*.algolianet.com
https://js.monitor.azure.com;
script-src-elem
'nonce-document360Nonce'
https://cdn.us.document360.io
https://*.algolianet.com
https://cdn.jsdelivr.net
https://cdnjs.cloudflare.com
https://floik.com/exe/
*.floik.com;
font-src
https://fonts.gstatic.com
https://cdn.us.document360.io;
style-src-elem
'unsafe-inline'
'unsafe-eval'
https://cdn.us.document360.io/
https://cdn.jsdelivr.net
https://fonts.googleapis.com;">
</head>
</html>
Vervang "document360Nonce" door de nonce-variabele die al in je systeem aanwezig is.
Voor EU-gebruikers
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Security-Policy" content="
connect-src
https://jx9o5re9su-dsn.algolia.net
https://apihub.document360.io/
https://api.document360.io/
https://gateway.document360.io
https://*.algolianet.com
https://js.monitor.azure.com;
script-src-elem
'nonce-document360Nonce'
https://cdn.document360.io
https://*.algolianet.com
https://cdn.jsdelivr.net
https://cdnjs.cloudflare.com
https://floik.com/exe/
*.floik.com;
font-src
https://fonts.gstatic.com
https://cdn.document360.io;
style-src-elem
'unsafe-inline'
'unsafe-eval'
https://cdn.document360.io/
https://cdn.jsdelivr.net
https://fonts.googleapis.com;">
</head>
</html>
Vervang "document360Nonce" door de nonce-variabele die al in je systeem aanwezig is.
De URL van de Algolia-host in connect-src is omgevingsspecifiek. Als je niet zeker bent van de exacte host voor je omgeving, gebruik dan de joker https://*.algolia.net in je connect-src directive. Dit dekt alle Algolia-omgevingen en voorkomt CSP-fouten veroorzaakt door mismatched hostnamen.
Werk je widgetconfiguratie bij
- Ga naar Connections () > Knowledge base-widget in de linker navigatie-zijbalk van je knowledge base-portaal.
- Selecteer de vereiste widget en klik op Bewerken ().
- Vouw in het tabblad 'Configureren en verbinden ' de Widget JavaScript-accordeon uit onder de Connection-groep .
- Werk je widgetscript bij met de nonce-parameter zoals hieronder getoond.
Voor Amerikaanse klanten
<!-- Document360 knowledge base assistant start -->
<script nonce="document360Nonce">
(function (w,d,s,o,f,js,fjs) {
w['JS-Widget']=o;w[o] = w[o] || function () { (w[o].q = w[o].q || []).push(arguments) };
js = d.createElement(s), fjs = d.getElementsByTagName(s)[0];
js.id = o; js.src = f; js.async = 1; fjs.parentNode.insertBefore(js, fjs);
}(panel, document, 'script', 'mw', './widget.js'));
mw('init', { nonce:'document360Nonce',apiKey: 'YOUR_API_KEY' });
//var jQuery_2_2_4 = $.noConflict(true);
</script>
<!-- Document360 knowledge base assistant end -->
Voor EU-klanten
<!-- Document360 knowledge base assistant start -->
<script nonce="document360Nonce">
(function (w,d,s,o,f,js,fjs) {
w['JS-Widget']=o;w[o] = w[o] || function () { (w[o].q = w[o].q || []).push(arguments) };
js = d.createElement(s), fjs = d.getElementsByTagName(s)[0];
js.id = o; js.src = f; js.async = 1; fjs.parentNode.insertBefore(js, fjs);
}(panel, document, 'script', 'mw', './widget.js'));
mw('init', { nonce:'document360Nonce',apiKey: 'YOUR_API_KEY' });
//var jQuery_2_2_4 = $.noConflict(true);
</script>
<!-- Document360 knowledge base assistant end -->
Vervang "document360Nonce" door de nonce-variabele die al in je systeem aanwezig is. De widget is nu geconfigureerd om veilig te functioneren binnen je CSP-omgeving.
FAQ
Waarom verschijnt de scrollbalk niet op de Knowledge Base-widget?
Dit wordt meestal veroorzaakt door een CSP-regel die het domein van de widget blokkeert. Als je domein niet is toegestaan in je CSP, kan dat voorkomen dat de scrollfunctionaliteit goed werkt. Voeg de domein-URL toe aan de CSP van je applicatie om dit op te lossen.
Moet ik CSP-bronnen toevoegen als ik geen nonce gebruik?
Ja. CSP-bronnen voor connect-src, font-src, en style-src-elem zijn verplicht ongeacht of je een nonce gebruikt. De nonce is specifiek nodig om script-src-elem het widget-script te laten uitvoeren. Zonder de nonce moet je misschien scripts gebruiken 'unsafe-inline' , wat niet wordt aanbevolen.
Wat is het verschil tussen de Amerikaanse en EU CSP-configuraties?
De configuraties in de VS en EU verschillen in de CDN- en API-eindpuntdomeinen. Amerikaanse gebruikers wijzen op cdn.us.document360.io en api.us.document360.io, terwijl EU-gebruikers en api.document360.iogebruikencdn.document360.io. Het gebruik van URL's van de verkeerde regio resulteert in geblokkeerde resources en een niet-functionele widget.