AEM as a Cloud Service : empêcher l’exposition des métadonnées du référentiel dans les réponses d’erreur

Cet article explique comment résoudre un problème dans Adobe Experience Manager as a Cloud Service où les configurations de gestionnaire d’erreurs personnalisé exposent les métadonnées du référentiel dans les réponses d’erreur. La solution implique la mise à jour du gestionnaire d’erreurs pour s’assurer que les pages d’erreur sont rendues comme HTML.

Description description

Environnement

Adobe Experience Manager as a Cloud Service (AEMaaCS)

Symptômes

Les réponses d’erreur gérées par un gestionnaire d’erreurs personnalisé exposent les métadonnées du référentiel, telles que jcr:primaryType, jcr:createdBy et jcr:created, en particulier lorsque le gestionnaire d’erreurs inclut une page d’erreur de maintenance sans spécifier l’extension du .html. Cela se produit lorsqu’une requête vers un chemin d’accès au servlet hérité (fPar exemple : /bin/wcm/search/gql.servlet.json) renvoie une erreur 404 et est traitée par un JSP de gestionnaire d’erreurs personnalisé (tel que /apps/sling/servlet/errorhandler/default.jsp).

Cause

Si le gestionnaire d’erreurs inclut une page d’erreur de maintenance sans l’extension .html, la réponse hérite de l’extension de la requête d’origine (telle que .json), ce qui entraîne la sérialisation des métadonnées du référentiel dans le corps de la réponse. Aucune information d’identification ou donnée commerciale sensible n’est exposée, mais cela augmente le risque de divulgation d’informations.

Résolution resolution

Suivez les étapes ci-dessous pour résoudre le problème :

  1. Ouvrez la base de code de votre projet et recherchez le fichier JSP de gestionnaire d’erreurs personnalisé, généralement situé à l’adresse /apps/sling/servlet/errorhandler/default.jsp.

  2. Identifiez les lignes où la page d’erreur de maintenance est incluse. Ils peuvent ressembler à ce qui suit :

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

  3. Mettez à jour chaque instruction include pour spécifier explicitement l’extension .html. Par exemple :

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

  4. Enregistrez vos modifications et déployez le code mis à jour dans votre environnement AEM as a Cloud Service à l’aide de votre processus de déploiement standard.

  5. Vérifiez le correctif en accédant au(x) point(s) d’entrée affecté(s) (par exemple, /bin/wcm/search/gql.servlet.json) et confirmez que les réponses d’erreur n’exposent plus les métadonnées du référentiel et sont rendues comme des pages d’erreur HTML.

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