Web-API kann Anfragen mit mehr als 20 Elementen im Array nicht verarbeiten

Dieser Artikel bietet eine Lösung für das Problem, dass die Web-API eine Nachricht, die mehr als 20 Elemente im Array für Adobe Commerce 2.4.3 enthält, nicht verarbeiten kann.

Betroffene Produkte und Versionen:

  • Adobe Commerce (alle Bereitstellungsmethoden) 2.4.3 und 2.3.7-p1
  • Magento Open Source 2.4.3 und 2.3.7-p1

Problem

Die Web-API kann die Meldung (z. B. "Stock Update"), die mehr als 20 Elemente im Array enthält, nicht verarbeiten.

Ursache

In Adobe Commerce 2.4.3 wurde die integrierte Ratenbegrenzung zu Magento-APIs hinzugefügt, um DoS-Angriffe (Denial-of-Service) zu verhindern.

Standardmäßig ist die folgende integrierte API-Ratenbegrenzung verfügbar:

  • REST-Anfragen, die Eingaben enthalten, die eine Liste von Entitäten darstellen, sind auf eine Standardanzahl von 20 Entitäten beschränkt
  • REST- und GraphQL-Abfragen, die paginierte Ergebnisse ermöglichen, sind auf eine Standardgrenze von 300 Elementen pro Seite beschränkt

Lösung

Um die Eingabegrenzen für die REST-API-Anfrage zu deaktivieren, wenden Sie einen der folgenden Patches an (je nach Version):

Kompatible Adobe Commerce-Versionen

Die Patches wurden für Folgendes erstellt:

  • Adobe Commerce auf Cloud-Infrastruktur 2.4.3 und 2.3.7-p1
  • Adobe Commerce vor Ort 2.4.3 und 2.3.7-p1

Die Patches sind nicht mit anderen Adobe Commerce-Versionen kompatibel.

Anwenden des Pflasters

Entpacken Sie die heruntergeladene Datei .zip und wenden Sie den Patch wie unter Anwenden eines von Adobe bereitgestellten Composer-Patches.

WARNING
Wenn Sie vermuten, dass Ihr Store einen DoS-Angriff erfährt, empfiehlt Adobe, die Standardeingabeschränkungen auf einen niedrigeren Wert zu senken, um die Anzahl der Ressourcen, die angefordert werden können, zu beschränken. Sie können die Standardbeschränkungen programmgesteuert anpassen, indem Sie Klassenkonstruktionsargumente
wie in unserer Entwicklerdokumentation beschrieben: API-Sicherheit > Ratenbegrenzung > Maximale Parametereingaben.

Verwandtes Lesen

API-Sicherheit > Ratenbegrenzung in unserer Entwicklerdokumentation.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a