預設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