Uitchecken mislukt als JS-miniatuur en -bundeling zijn ingeschakeld

Dit artikel bevat een patch voor de Adobe Commerce-uitgave die ervoor zorgt dat afhandeling niet correct werkt wanneer minificatie, bundeling en (in sommige gevallen) samenvoeging van JavaScript-elementen (JS) zijn ingeschakeld.

Beschrijving description

Omgeving

Adobe Commerce, alle implementatiemethoden.

Probleem/symptomen

Recente wijzigingen in de functie Content Security Policy (CSP) hebben ertoe geleid dat de uitcheckfunctionaliteit is mislukt wanneer minificatie, bundeling en, in sommige gevallen, samenvoeging van JS-elementen zijn ingeschakeld. Dit probleem kan de plaatsing van bestellingen in de winkel volledig blokkeren.

Betrokken producten en versies

Magento Open Source en Adobe Commerce (alle implementatiemethoden):

  • 2.4.4-p16
  • 2.4.5-p15
  • 2.4.6-p13
  • 2.4.7-p8
  • 2.4.8-p3

Stappen om te reproduceren:

  1. Zorg ervoor dat de CSP-module is ingeschakeld.

  2. Schakel over naar de productiemodus en schakel minificatie en bundeling van JS-elementen in.

  3. Statische inhoud implementeren en cache leegmaken.

  4. Navigeer naar de storefront en probeer een bestelling te plaatsen.

  5. Controleer tijdens elke stap van de uitcheckflow op JS-fouten in de browserconsole.

    • Als er fouten zijn of de controle uitdrukkelijk ontbreekt, wordt de opslag beïnvloed.
    • Als er geen fouten zijn en de ordeplaatsing mogelijk is, verifieer als mixins.min.js op de controle pagina aanwezig is. Als mixins.min.js ontbreekt, maar uitchecken werkt - het probleem bestaat, maar heeft geen zichtbare invloed op de winkel.

Oorzaak

Wijzigingen in de CSP-functie resulteerden in een onjuiste genereren van SRI-hashes (Subresource Integrity) voor geminificeerde JS-bestanden wanneer het maken van pakketten is ingeschakeld, als gevolg van onjuiste bestandspaden.

Dit, beurtelings, verhinderde mixins.min.js en static.min.js om behoorlijk op de controle pagina terug te geven, veroorzakend diverse mislukkingen tijdens orderplaatsing.

Resolutie resolution

Opgeslagen winkels die op een van de betrokken versies worden uitgevoerd, moeten de bijbehorende patch toepassen om het probleem op te lossen.

Deze patches keren de hierboven vermelde wijzigingen met betrekking tot het CDV om en herstellen de CSP-functie naar de status vóór die wijzigingen.

Nota: die deze flarden toepast herintroduceert sommige eerder bekende kwesties met betrekking tot functionaliteit SRI:

  • Bij versies 2.4.7-p8 en lager worden SRI-hashes opnieuw in de cache opgeslagen in sri-hashes.json .
  • In versies 2.4.8-p3 en lager worden gebundelde/samengevoegde JS-elementen niet gevalideerd voor integriteitshashes.
  • Cloud-instanties op versie 2.4.8-p3 kunnen onjuist gegenereerde sri-hashes.json bestanden hebben die alleen voor een fractie van JS-elementen SRI-hashes bevatten.

Hoe de pleister aanbrengen

Pak het dossier uit en verwijs naar ​ hoe te om een componentenflard toe te passen die door Adobe ​ voor verdere instructies wordt verstrekt.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f