HTTP CSP media-src Directive

Die Content-Security-Policy media-src Direktive kontrolliert erlaubte Quellen für Audio- und Video-Dateien die über <audio>, <video> und <track> Elemente geladen werden. Sie verhindert Malware-Distribution via Media-Files, unauthorisiertes Streaming und Content-Injection durch Einschränkung erlaubter Media-Origins.

Typ

CSP Fetch-Direktive

Syntax

Die Direktive akzeptiert eine Whitelist vertrauenswürdiger Media-Quellen.

http
Content-Security-Policy: media-src 'self'
Content-Security-Policy: media-src 'self' https://video-cdn.example.com

Direktiven

Die media-src Direktive verwendet Standard-CSP-Quellausdrücke zur Kontrolle erlaubter Media-Ressourcen.

'none'
Verbietet alle Audio- und Video-Dateien. Nützlich für Text-Only-Seiten oder API-Dokumentation.
'self'
Erlaubt Media-Dateien nur vom gleichen Origin. Verhindert externes Media-Loading.
https://cdn.example.com
Domain-Whitelisting. Erlaubt gezielt Media von vertrauenswürdigen Streaming-CDNs oder Video-Plattformen.
https:
Erlaubt alle HTTPS-Media-Quellen. Erzwingt verschlüsselte Übertragung ohne Domain-Beschränkung.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für die media-src Direktive.

Beispiel 1 Self-Hosted Video Platform

http
HTTP/1.1 200 OK
Content-Security-Policy: media-src 'self'

<!DOCTYPE html>
<html>
<body>
  <video controls width="640" height="480">
    <source src="/videos/tutorial.mp4" type="video/mp4">
    <track kind="subtitles" src="/videos/tutorial-de.vtt" srclang="de">
    <!-- Beide erlaubt: Same-Origin -->
  </video>

  <audio src="https://malicious-cdn.com/malware.mp3" controls>
    <!-- Blockiert durch CSP -->
  </audio>
</body>
</html>

Beispiel 2 Multi-CDN Video Streaming

http
Content-Security-Policy: media-src 'self' https://video.cdn-a.com https://video.cdn-b.com

<!-- Video-Plattform mit Fallback-CDNs -->
<video controls>
  <source src="https://video.cdn-a.com/streams/live.m3u8" type="application/vnd.apple.mpegurl">
  <source src="https://video.cdn-b.com/streams/live.mpd" type="application/dash+xml">
  <!-- Beide erlaubt: Whitelisted CDNs -->
</video>

Beispiel 3 API Docs ohne Media-Content

http
Content-Security-Policy: media-src 'none'; default-src 'self'

<!-- API Documentation ohne Audio/Video -->
<article class="api-reference">
  <h2>REST API Endpoints</h2>
  <p>Documentation content...</p>
</article>

<video src="/demo.mp4">
  <!-- Blockiert: media-src 'none' -->
</video>

Media Loading Security Flow

CSP media-src verhindert Malware-Distribution via Media-Files

Vorteile für die Systemarchitektur

  • Malware-Prävention: Verhindert Distribution von Malware-Payloads via manipulierte Audio- oder Video-Dateien durch Kontrolle erlaubter Media-Quellen
  • Content-Integrität: Schützt vor unauthorisiertem Media-Streaming das Copyright-Verletzungen oder unerwünschte Inhalte einschleusen könnte
  • Bandwidth-Kontrolle: Limitiert Media-Loading auf vertrauenswürdige CDNs zur Vermeidung von Performance-Degradation durch langsame externe Quellen

Spezifikation

Content Security Policy Level 3 – W3C Working Draft https://www.w3.org/TR/CSP3/#directive-media-src

Weitere Spezifikationen

CSP default-src Directive, Content-Security-Policy Header