AEM as a Cloud Service: evite a exposição de metadados do repositório em respostas de erro

Este artigo explica como resolver um problema no Adobe Experience Manager as a Cloud Service em que as configurações do manipulador de erro personalizado expõem os metadados do repositório nas respostas de erro. A solução envolve a atualização do manipulador de erros para garantir que as páginas de erro sejam renderizadas como HTML.

Descrição description

Ambiente

Adobe Experience Manager as a Cloud Service (AEMaaCS)

Sintomas

As respostas de erro tratadas por um manipulador de erros personalizado expõem metadados do repositório, como jcr:primaryType, jcr:createdBy e jcr:created, especialmente quando o manipulador de erros inclui uma página de erro de manutenção sem especificar a extensão .html. Isso ocorre quando uma solicitação para um caminho de servlet herdado (por exemplo: /bin/wcm/search/gql.servlet.json) retorna um erro 404 e é processada por um manipulador de erro personalizado JSP (como /apps/sling/servlet/errorhandler/default.jsp).

Causa

Se o manipulador de erros incluir uma página de erro de manutenção sem a extensão do .html, a resposta herdará a extensão da solicitação original (como .json), resultando na serialização dos metadados do repositório no corpo da resposta. Nenhuma credencial ou dados confidenciais de negócios são expostos, mas isso aumenta o risco de divulgação de informações.

Resolução resolution

Siga as etapas abaixo para resolver o problema:

  1. Abra a base de código do projeto e localize o arquivo JSP do manipulador de erros personalizado, normalmente encontrado em /apps/sling/servlet/errorhandler/default.jsp.

  2. Identifique as linhas em que a página de erro de manutenção está incluída. Eles podem parecer com:

    <jsp:include page="/content/<your-site>/maintenance/maintenance-error" />

  3. Atualize cada instrução include para especificar explicitamente a extensão .html. Por exemplo:

    <jsp:include page="/content/<your-site>/maintenance/maintenance-error.html" />

  4. Salve as alterações e implante o código atualizado no ambiente do AEM as a Cloud Service usando o processo de implantação padrão.

  5. Verifique a correção acessando os pontos de extremidade afetados (como /bin/wcm/search/gql.servlet.json) e confirme se as respostas de erro não expõem mais os metadados do repositório e são renderizadas como páginas de erro do HTML.

recommendation-more-help
experience-cloud-kcs-help-kbarticles