#150: Videoschutz mit ablaufenden S3-Links

In diesem Screencast sehen wir uns an, wie wir Dateien auf Amazon S3 (Simple Storage Service) so hosten können, dass wir auf diese Assets verlinken und sie nutzen können, sie aber nicht vollständig öffentlich machen. Sie sollen nur für eingeloggte Nutzer der Lodge zugänglich sein, die ein Abonnement haben.

Zum Zeitpunkt der Aufnahme dieses Screencasts war der Plan, HTML5 <video> zu verwenden und die <source>-Elemente auf Amazon gehostete (und geschützte) Videos verlinken zu lassen. Seitdem bin ich zu Vimeo gewechselt, um die Videos anzuzeigen (nur für diese Website über Vimeo PRO geschützt). Aber die Idee ist immer noch relevant, zumal wir die direkten Downloads weiterhin über S3 anbieten.

Warum S3? Das Hosting der Dateien auf meinem eigenen Webserver zum Download ist völlig unpraktikabel. Viel zu viel Bandbreite für ein reguläres Hosting, und ich möchte nicht, dass derselbe Server, der für die Anzeige meiner Website zuständig ist, auch noch riesige Dateien mit sehr langen Verbindungen serviert. S3 ist perfekt für diese Art von Aufgaben.

Diese „sicheren“ Links erreichen wir, indem wir

  1. die Dateien auf S3 hochladen (über eine Mac-App namens Transmit, die eine einfache S3-Unterstützung bietet)
  2. ein benutzerdefiniertes Feld auf den Lodge-Videoseiten mit dem Dateinamen erstellen
  3. einen ablaufenden Link aus dem Dateinamen generieren
  4. den Link im Template verwenden, wo er benötigt wird

Wir machen den Linkgenerator zu einer separaten Datei, sodass wir ihn einfach auf jeder Seite einbinden können, auf der dies benötigt wird. Es ist ziemlich gut, dass es PHP und nicht JavaScript ist, so dass unsere geheimen Schlüssel, die zum Generieren dieser Links benötigt werden, inhärent geschützt sind.