AEM as a Cloud Service: impedire l’esposizione dei metadati dell’archivio nelle risposte di errore
Questo articolo spiega come risolvere un problema in Adobe Experience Manager as a Cloud Service in cui le configurazioni del gestore degli errori personalizzate espongono i metadati dell’archivio nelle risposte agli errori. La soluzione comporta l’aggiornamento del gestore degli errori per garantire che le pagine di errore vengano riprodotte come HTML.
Descrizione description
Ambiente
Adobe Experience Manager as a Cloud Service (AEMaaCS)
Sintomi
Le risposte di errore gestite da un gestore degli errori personalizzato espongono i metadati dell’archivio, ad esempio jcr:primaryType, jcr:createdBy e jcr:created, in particolare quando il gestore degli errori include una pagina di errore di manutenzione senza specificare l’estensione .html. Ciò si verifica quando una richiesta a un percorso servlet legacy (fAd esempio: /bin/wcm/search/gql.servlet.json) restituisce un errore 404 e viene elaborata da un gestore di errori JSP personalizzato (ad esempio /apps/sling/servlet/errorhandler/default.jsp).
Causa
Se il gestore degli errori include una pagina di errore di manutenzione senza l’estensione .html, la risposta eredita l’estensione della richiesta originale (ad esempio .json), con conseguente serializzazione dei metadati dell’archivio nel corpo della risposta. Non vengono esposte credenziali o dati aziendali sensibili, ma questo aumenta il rischio di divulgazione delle informazioni.
Risoluzione resolution
Per risolvere il problema, segui i passaggi seguenti:
-
Apri la base di codice del progetto e individua il file JSP del gestore degli errori personalizzato, in genere disponibile in
/apps/sling/servlet/errorhandler/default.jsp. -
Identifica le righe in cui è inclusa la pagina di errore di manutenzione. Questi potrebbero avere un aspetto simile a:
<jsp:include page="/content/<your-site>/maintenance/maintenance-error" /> -
Aggiornare ogni istruzione include per specificare esplicitamente l’estensione
.html. Ad esempio:<jsp:include page="/content/<your-site>/maintenance/maintenance-error.html" /> -
Salva le modifiche e distribuisci il codice aggiornato nell’ambiente AEM as a Cloud Service utilizzando il processo di distribuzione standard.
-
Verificare la correzione accedendo agli endpoint interessati (ad esempio
/bin/wcm/search/gql.servlet.json) e confermare che le risposte di errore non espongono più i metadati dell’archivio e vengono visualizzate come pagine di errore di HTML.