Wie kann ich "Video speichern unter..." im Rechtsklickmenü eines Browsers deaktivieren, um zu verhindern, dass Kunden ein Video herunterladen?
Gibt es umfassendere Lösungen, die verhindern, dass der Client direkt auf einen Dateipfad zugreift?
Sie können'nicht. Das liegt daran, dass die Browser genau dafür entwickelt wurden: Inhalte anbieten. Aber man kann das Herunterladen erschweren.
Als erstes könnten Sie das Kontextmenü-Ereignis, auch bekannt als "Rechtsklick", deaktivieren. Das würde verhindern, dass Ihr normaler Skiddie Ihr Video mit einem Rechtsklick und "Speichern unter" rippt. Aber dann könnten sie einfach JS deaktivieren und das Problem umgehen oder die Videoquelle über den Debugger des Browsers finden. Außerdem ist das eine schlechte UX. Es gibt viele legitime Dinge in einem Kontextmenü als nur "Speichern unter".
Sie könnten auch benutzerdefinierte Videoplayer-Bibliotheken verwenden. Die meisten von ihnen implementieren Videoplayer, die das Kontextmenü nach Ihren Wünschen anpassen. Sie erhalten also nicht das Standard-Kontextmenü des Browsers. Und wenn sie einen ähnlichen Menüpunkt wie "Speichern unter" anbieten, können Sie ihn deaktivieren. Aber auch hier handelt es sich um eine JS-Umgehung. Die Schwachstellen sind ähnlich wie bei der vorherigen Option.
Eine andere Möglichkeit besteht darin, das Video mit HTTP Live Streaming bereitzustellen. Dabei wird das Video in kleine Stücke zerlegt und nacheinander ausgeliefert. Auf diese Weise stellen die meisten Streaming-Sites Videos bereit. Selbst wenn Sie es also schaffen, zu speichern, speichern Sie nur einen Teil, nicht das ganze Video. Es wäre etwas aufwändiger, alle Teile zu sammeln und sie mit einer speziellen Software zusammenzufügen.
Eine andere Technik ist das Malen von <Video>
auf <Leinwand>
. Bei dieser Technik ist das, was Sie auf der Seite sehen, mit ein wenig JavaScript ein "Canvas"-Element, das Frames aus einem versteckten "Video" wiedergibt. Und weil es sich um ein "Canvas"-Element handelt, verwendet das Kontextmenü ein "img"-Menü und nicht ein "Video"-Menü. Sie erhalten ein "Bild speichern unter" anstelle eines "Video speichern unter".
Sie könnten auch CSRF-Tokens zu Ihrem Vorteil nutzen. Sie lassen Ihren Server ein Token auf der Seite senden. Dieses Token verwenden Sie dann, um Ihr Video abzurufen. Ihr Server prüft, ob es sich um ein gültiges Token handelt, bevor er das Video ausliefert, oder er erhält eine HTTP 401. Die Idee ist, dass Sie ein Video nur dann abrufen können, wenn Sie ein Token haben, das Sie nur dann erhalten, wenn Sie von der Seite kommen und nicht direkt die Video-URL besuchen.
Am Ende des Tages würde ich mein Video einfach auf eine Drittanbieter-Videoseite wie YouTube oder Vimeo hochladen. Sie verfügen über gute Videoverwaltungs-Tools, optimieren die Wiedergabe auf dem Gerät und bemühen sich, zu verhindern, dass ihre Videos mit null Aufwand auf Ihrer Seite geklaut werden.
Dies ist eine einfache Lösung für diejenigen, die die Rechtsklick-Option "Speichern" aus den html5-Videos entfernen möchten
$(document).ready(function(){
$('#videoElementID').bind('contextmenu',function() { return false; });
});
Einfache Antwort,
Wenn sie sich dein Video ansehen, haben sie es bereits**.
Du kannst sie verlangsamen, aber nicht aufhalten.