AEM as a Cloud Service: 오류 응답에서 저장소 메타데이터 노출 방지
이 문서에서는 사용자 지정 오류 처리기 구성이 오류 응답에 저장소 메타데이터를 표시하는 Adobe Experience Manager as a Cloud Service의 문제를 해결하는 방법에 대해 설명합니다. 해결 방법에는 오류 처리기를 업데이트하여 오류 페이지가 HTML으로 렌더링되도록 하는 작업이 포함됩니다.
설명 description
환경
Adobe Experience Manager as a Cloud Service (AEMaaCS)
증상
사용자 지정 오류 처리기에서 처리하는 오류 응답은 특히 오류 처리기에 .html 확장을 지정하지 않고 유지 관리 오류 페이지가 포함된 경우 jcr:primaryType, jcr:createdBy 및 jcr:created과(와) 같은 저장소 메타데이터를 노출합니다. 이 문제는 레거시 서블릿 경로(예: /bin/wcm/search/gql.servlet.json)에 대한 요청이 404 오류를 반환하고 사용자 지정 오류 처리기 JSP(예: /apps/sling/servlet/errorhandler/default.jsp)에서 처리되는 경우에 발생합니다.
원인
오류 처리기에 .html 확장 없이 유지 관리 오류 페이지가 포함된 경우 응답이 원래 요청의 확장(예: .json)을 상속하므로 저장소 메타데이터가 응답 본문으로 직렬화됩니다. 자격 증명이나 중요한 비즈니스 데이터가 노출되지 않지만, 이로 인해 정보 공개 위험이 증가합니다.
해결 방법 resolution
아래 단계에 따라 문제를 해결하십시오.
-
프로젝트 코드베이스를 열고 일반적으로
/apps/sling/servlet/errorhandler/default.jsp에 있는 사용자 지정 오류 처리기 JSP 파일을 찾습니다. -
유지 관리 오류 페이지가 포함된 라인을 식별합니다. 이는 다음과 같을 수 있습니다.
<jsp:include page="/content/<your-site>/maintenance/maintenance-error" /> -
.html확장을 명시적으로 지정하도록 각 include 문을 업데이트합니다. 예:<jsp:include page="/content/<your-site>/maintenance/maintenance-error.html" /> -
변경 사항을 저장하고 표준 배포 프로세스를 사용하여 업데이트된 코드를 AEM as a Cloud Service 환경에 배포합니다.
-
영향을 받는 끝점(예:
/bin/wcm/search/gql.servlet.json)에 액세스하여 수정 사항을 확인하고 오류 응답이 더 이상 저장소 메타데이터를 노출하지 않고 HTML 오류 페이지로 렌더링되는지 확인하십시오.