GraphQL을 통해 노출된 고객 그룹 이름, 세그먼트 및 프로모션 규칙 정보
이 문서에서는 GraphQL을 통해 고객 그룹 이름, 고객 세그먼트 및 프로모션 규칙 정보가 노출되지 않도록 하는 핫픽스를 제공합니다. 이 문제는 Adobe Commerce 2.4.8-p1에서 수정될 예정입니다.
설명 description
영향을 받는 제품 및 버전
Adobe Commerce 버전에 대한 패치가 만들어졌습니다.
- Adobe Commerce(모든 배포 방법) 2.4.8
Adobe Commerce 버전과 호환:
- Adobe Commerce(모든 배포 방법) 2.4.8
문제
Storefront Personalization 드롭인의 경우, 고객 그룹 이름, 세그먼트, 장바구니 및 카탈로그 규칙과 같은 기본 정보를 표시하기 위해 새로운 GraphQL 돌연변이가 도입되었습니다. 그러나 이름에 포함된 경우 오퍼 세부 정보 또는 쿠폰 코드와 같은 중요한 데이터가 노출될 수 있습니다.
재현 단계
사례 I: 카탈로그 규칙
-
관리자 사이드바에서 마케팅(으)로 이동
>
카탈로그 가격 규칙>
새 규칙 추가. -
규칙 조건(예: 제품 속성 또는 범주)을 정의합니다.
-
규칙을 저장하고 적용합니다.
-
제품이 규칙 조건을 충족하는지 확인합니다.
-
다음 GraphQL 쿼리를 실행하여 모든 규칙을 가져옵니다.
code language-none query { allCatalogRules { name } }
-
제품을 쿼리하여 규칙이 적용되는지 확인합니다.
code language-none query { products(filter: { sku: { eq: "product-sku" } }) { items { name rules { name } } } }
사례 II: 장바구니 규칙
-
관리자 사이드바에서 마케팅(으)로 이동
>
장바구니 가격 규칙>
새 규칙 추가. -
최소 장바구니 값 및 고객 그룹과 같은 조건을 설정합니다.
-
규칙을 저장하고 적용합니다.
-
제품을 장바구니에 추가하여 규칙을 트리거합니다.
-
GraphQL을 사용하여 모든 장바구니 규칙을 확인합니다.
code language-none query { allCartRules { name } }
-
규칙이 활성 장바구니에 적용되는지 확인:
code language-none query { cart(cart_id: "your-cart-id") { rules { name } } }
사례 III: 고객 그룹
-
관리자 사이드바에서 고객(으)로 이동
>
고객 그룹. -
예상 그룹이 있는지 확인합니다.
-
GraphQL 을(를) 사용하여 모든 그룹을 가져옵니다.
code language-none query { allCustomerGroups { name } }
-
고객/게스트 그룹 확인:
code language-none query { customerGroup { name } }
사례 IV: 고객 세그먼트(Adobe Commerce 전용)
-
관리자 사이드바에서 고객(으)로 이동
>
고객 세그먼트>
세그먼트 추가. -
고객 기반 조건(예: 주문, 장바구니 내용)을 정의합니다.
-
적용 가능한 범위 지정: 방문자, 등록됨 또는 둘 다.
-
조건이 테스트 고객과 일치하는지 확인합니다.
-
GraphQL을 사용하여 모든 세그먼트를 확인합니다.
code language-none query { allCustomerSegments { name apply_to } }
-
장바구니에 적용된 세그먼트의 유효성을 검사합니다.
code language-none query { customerSegments(cartId: "your-cart-id") { name } }
예상 결과:
고객 그룹, 세그먼트 및 프로모션 규칙 정보의 이름은 GraphQL을 통해 노출되지 않습니다.
실제 결과:
고객 그룹의 이름, 세그먼트 및 프로모션 규칙 정보는 GraphQL을 통해 노출됩니다.
해결 방법 resolution
Adobe Commerce 버전에 따라 첨부된 패치를 적용합니다.
-
Adobe Commerce 버전 2.4.8의 경우
-
Magento Open Source 버전 2.4.8의 경우