預設GraphQL查詢執行器設定選項

瞭解如何處理 拒絕服務 ​最新GraphQL Java更新中的預設剖析器選項造成GraphQL查詢錯誤。

說明 description

環境

Adobe Experience Manager

問題/症狀

最新的GraphQL-Java更新會建立可能導致以下問題的預設剖析器選項: 「拒絕服務」語法無效 ​執行GraphQL複雜查詢時發生錯誤。  這些驗證作業是在GraphQL-Java中引入,以避免阻斷服務攻擊。

就內容而言,這些限制定義於 https://github.com/graphql-java/graphql-java/blob/v20.3/src/main/java/graphql/parser/ParserOptions.java#L35.

解決方法 resolution

您可以依照指定步驟傳遞自訂剖析器選項來修正問題:

  • GraphQL這適用於會傳回 「拒絕服務」語法無效 ​錯誤,開頭為:

    • AEM Cloud Service (2023.8版內部參考SITES-13906引入的限制,以及2024.3版引入的因應措施)或;
    • AEM 6.5.21 (內部參考SITES引進的限制和因應措施 — 17355)
  • 這可透過設定OSGI設定來克服  Apache Sling預設GraphQL查詢執行器  並調整值  查詢權杖上限  和  最大空格代號數  視需求而定。

這是最後的手段,而且值應該逐漸增加,直到滿足專案需求為止.

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