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:
-
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. -
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" /> -
Atualize cada instrução include para especificar explicitamente a extensão
.html. Por exemplo:<jsp:include page="/content/<your-site>/maintenance/maintenance-error.html" /> -
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.
-
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.