Direkt-URL zu einem Video blockieren

  • Guten Abend Zusammen,


    hat einer von euch eine Idee wie ich eine Direkt URL sperren kann?

    Das heißt der User soll nicht durch Eingabe der URL (z.B. http://test.de/videos/video_clip.mp4) das Video ansehen dürfen, sondern erst wenn durch PHP & MySQL bestimmte Kriterien erfüllt sind es per HTML <video> Tag ansehen können.


    Würde mich sehr über eine Antwort freuen :)



    Viele Grüße


    Malte

  • Einen wirklich "einfachen" Weg sehe ich da erst mal nicht.


    Du müsstest über eine .htaccess die Requests auf .mp4 Files zu php umleiten.

    Dann kannst du da die Logik abarbeiten und, wenn alles passt, das Video zurück geben.

    Dabei musst aber dann die richtigen Header setzen (Content-Type etc) und auch sonst weiß ich nicht, ob der Browser das überhaupt so akzeptiert..

    Meine (Netcup) Produkte: VPS 1000 G7 SE, S 1000 G7, VPS 200 G8 Ostern 2019, IPs, Failover..

  • Das Problem ist schon uralt, und eine Lösung gibt es hier nicht wirklich.


    Du könntest die Datei außerhalb des Document Root ablegen und über PHP streamen. Stichwörter wären hier Byte Range und Partial Content. Gibt via google einige gute Beispiele, wie man Videos über ein PHP Script streamt. Da könntest Du dann Deine Kriterien abprüfen.


    Ändert aber nichts daran, dass die Datei heruntergeladen werden kann. Wenn auch nur von den Usern, die Deine Kriterien erfüllen.


    "Neuster Schrei" beim absichern von Videos ist die Nutzung von Java Script File Blobs. Das macht es aufwändiger, aber auch hier gibts wieder Möglichkeiten trotzdem an das Video zu kommen.

  • Ich muss mal schauen wie ich es am besten realisiere, wenn ihr sagt, dass es dafür keinen wirklich einfachen Weg gibt.

    Prüfe, ob beim Einbetten der Videodatei ein Referrer Header mitgeschickt wird. Wenn das der Fall ist, kannst du das als Maßgabe nutzen.

    Andernfalls kannst du ja ein Parameter mitschicken (video.mp4?parameter) der entweder statisch ist, oder dynamisch zu dem Aufruf passt (wie z.B. mit csrf Tokens). Evtl. kannst du auch einen Cookie mit kurzer Laufzeit mitschicken.

  • Die Abspeicherung wirst Du letzten Endes nicht verhindern können, falls es Dir darum geht. Notfalls nehmen die Leute einfach Screenrecorder und zeichnen das Zeug in Echtzeit auf.


    Was Du jedoch verhindern kannst ist, dass der Link einfach so weitergegeben wird. Wenn ein Login erforderlich ist, schränkt das die direkte Weitergabe drastisch ein. Gute Tipps dazu haben meine Vorposter bereits gegeben.


    H6G Das mit dem Referrer würde ich im Jahr 2019 lieber nicht mehr machen. Wenn der Browser oder ein Addon den Referrer generell blockieren und nicht nur bei Drittseiten, endet das unschön.