Cross-Origin-Resource-Policy (CORP) ist ein HTTP-Response-Header, mit dem ein Server festlegt, welche Seiten eine Ressource in no-cors-Anfragen einbetten dürfen. Der Header blockiert unerlaubte Cross-Origin- und Cross-Site-Requests.

Die Werte

  • same-site — Laden nur von derselben Site, also von der gleichen registrierbaren Domain einschließlich Subdomains.
  • same-origin — Laden nur von exakt derselben Origin (Schema, Host, Port).
  • cross-origin — explizite Freigabe für andere Origins.

Ohne den Header gilt für viele Ressourcen das Verhalten von same-site als Standard.

Schutz vor Seitenkanal-Angriffen

Bilder, Skripte oder Stylesheets kann eine fremde Seite in no-cors-Kontexten laden, ohne die Antwort lesen zu dürfen. Über Timing- und Cache-Verhalten lassen sich trotzdem Informationen ableiten — etwa bei Spectre-artigen Seitenkanal-Angriffen. CORP verhindert die Einbettung und damit diese Mess-Angriffe auf geschützte Ressourcen.

Abgrenzung zu CORS

Während Cross-Origin Resource Sharing (CORS) kontrolliertes Teilen von Ressourcen erlaubt, ist CORP eine reine Abwehr: Der Server erklärt, wem die Ressource gehört. In Kombination mit der Cross-Origin-Embedder-Policy (require-corp) müssen Cross-Origin-Subressourcen zwingend CORP oder eine CORS-Freigabe mitbringen.

Verwandte Grundlagen

Zusammen mit der Cross-Origin-Opener-Policy und X-Content-Type-Options gehört CORP zur Standard-Härtung von Web-Antworten. Einbettungsschutz ergänzen X-Frame-Options und die Content-Security-Policy; die Transport-Grundlage bildet HTTPS.