AEM as a Cloud Service: Gefährdung von Repository-Metadaten in Fehlerantworten verhindern

In diesem Artikel wird erläutert, wie Sie ein Problem in Adobe Experience Manager as a Cloud Service beheben, bei dem benutzerdefinierte Fehler-Handler-Konfigurationen Repository-Metadaten in Fehlerantworten verfügbar machen. Die Lösung umfasst die Aktualisierung des Fehler-Handlers, um sicherzustellen, dass Fehlerseiten als HTML gerendert werden.

Beschreibung description

Umgebung

Adobe Experience Manager as a Cloud Service (AEMaaCS)

Symptome

Fehlerantworten, die von einem benutzerdefinierten Fehler-Handler verarbeitet werden, machen Repository-Metadaten wie jcr:primaryType, jcr:createdBy und jcr:created verfügbar, insbesondere wenn der Fehler-Handler eine Wartungsfehlerseite enthält, ohne die .html anzugeben. Dies tritt auf, wenn eine Anfrage an einen Pfad eines Legacy-Servlets (z. B.: /bin/wcm/search/gql.servlet.json) einen 404-Fehler zurückgibt von einer benutzerdefinierten Fehler-Handler-JSP (z. B. /apps/sling/servlet/errorhandler/default.jsp) verarbeitet wird.

Ursache

Wenn der Fehler-Handler eine Wartungsfehlerseite ohne die .html Erweiterung enthält, erbt die Antwort die Erweiterung der ursprünglichen Anfrage (z. B. .json), was dazu führt, dass Repository-Metadaten in den Antworttext serialisiert werden. Es werden keine Anmeldeinformationen oder vertraulichen Geschäftsdaten offen gelegt, aber dies erhöht das Risiko der Offenlegung von Informationen.

Lösung resolution

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Öffnen Sie Ihre Projekt-Codebasis und suchen Sie die benutzerdefinierte JSP-Datei für Fehler-Handler, die normalerweise unter /apps/sling/servlet/errorhandler/default.jsp zu finden ist.

  2. Identifizieren Sie die Zeilen, in denen die Wartungsfehlerseite enthalten ist. Diese können wie folgt aussehen:

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

  3. Aktualisieren Sie jede Include-Anweisung, um die .html Erweiterung explizit anzugeben. Beispiel:

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

  4. Speichern Sie Ihre Änderungen und stellen Sie den aktualisierten Code mithilfe Ihres standardmäßigen Bereitstellungsprozesses in Ihrer AEM as a Cloud Service-Umgebung bereit.

  5. Überprüfen Sie die Fehlerbehebung, indem Sie auf die betroffenen Endpunkte zugreifen (z. B. /bin/wcm/search/gql.servlet.json), und stellen Sie sicher, dass Fehlerantworten keine Repository-Metadaten mehr verfügbar machen und als HTML-Fehlerseiten gerendert werden.

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