Oorzaak
In Adobe Commerce en Magento Open Source versie 2.4.7 en hoger is CSP standaard geconfigureerd in restrict-mode
, voor betalingspagina's in de opslagruimte en in de beheergebieden, en in de report-only
-modus voor alle andere pagina's.
De corresponderende header CSP bevat niet het trefwoord unsafe-inline
binnen de aanwijzing script-src
voor betaalpagina's. Bovendien zijn alleen whitelisted inlinescripts toegestaan.
Oplossing
Gebruikers zien mogelijk browserfouten omdat bepaalde scripts zijn geblokkeerd door CSP :
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src
om deze kwestie te bevestigen, moet u één van beide :
-
Whitelistde geblokkeerde manuscripten die de
SecureHtmlRenderer
klasse gebruiken. -
Gebruik de klasse
CSPNonceProvider
om toe te staan dat scripts worden uitgevoerd.
Adobe Commerce en Magento Open Source 2.4.7 en hoger bevatten een Content Security Policy (CSP) nonce -provider om het genereren van unieke nonce -tekenreeksen voor elke aanvraag te vergemakkelijken. Deze nonce -tekenreeksen worden vervolgens aan de CSP -koptekst gekoppeld.Gebruik de functie
generateNonce
inMagento\Csp\Helper\CspNonceProvider
om een tekenreeks nonce te verkrijgen.use Magento\Csp\Helper\CspNonceProvider; class MyClass { /** * @var CspNonceProvider */ private $cspNonceProvider; /** * @param CspNonceProvider $cspNonceProvider */ public function __construct(CspNonceProvider $cspNonceProvider) { $this->cspNonceProvider = $cspNonceProvider } /** * Get CSP Nonce * * @return String */ public function getNonce(): string { return $this->cspNonceProvider->generateNonce(); } }
-
voeg a hashaan het dossier van uw module
csp_whitelist.xml
toe.
Uitgave - Betalingsmethode ontbreekt of werkt niet
De betalingsmethode ontbreekt of werkt niet aan Admin orde leidt tot pagina, met "die wordt geweigerd om gealigneerd manuscript uit te voeren omdat het de volgende richtlijn van het Beleid van de Veiligheid van de Inhoud schendt: "manuscript-src…"foutenmelding in het browser consolelogboek.
Stappen om te reproduceren:
- Ga naar Sales > Orders .
- Maak een nieuwe volgorde.
- Maak een nieuwe klant.
- Voer de klantgegevens in.
- Voer de bestelgegevens in (producten, verzendmethode).
- Selecteer een betalingsmethode.
Verwachte resultaten :
U kunt een betalingsmethode selecteren en doorgaan met het plaatsen van een bestelling.
Ware resultaten :
De betalingsmethode ontbreekt of werkt niet. De volgende JS fout wordt getoond in het browser consolelogboek: "die wordt geweigerd om gealigneerd manuscript uit te voeren omdat het de volgende richtlijn van het Beleid van de Veiligheid van de Inhoud overtreedt: "manuscript-src…".
Oorzaak
In Adobe Commerce en Magento Open Source versie 2.4.7 en hoger is CSP standaard geconfigureerd in restrict-mode
, voor betalingspagina's in de opslagruimte en in de beheergebieden, en in de report-only
-modus voor alle andere pagina's.
De corresponderende header CSP bevat niet het trefwoord unsafe-inline
binnen de aanwijzing script-src
voor betaalpagina's. Bovendien zijn alleen whitelisted inlinescripts toegestaan.