Hi Leute,
ist es in Contao möglich, das ein Video (als Inhaltselement eingebunden) zwar angezeigt und abgespielt werden kann, aber der Nutzer dieses nicht herunterladen kann?
Wie läßt sich ein kopieren verhindern?
Druckbare Version
Hi Leute,
ist es in Contao möglich, das ein Video (als Inhaltselement eingebunden) zwar angezeigt und abgespielt werden kann, aber der Nutzer dieses nicht herunterladen kann?
Wie läßt sich ein kopieren verhindern?
Eigentlich gar nicht. Es kommt nur darauf an, wie versiert der Seitenbesucher ist.
Man kann es mit DRM erschweren, aber nicht komplett verhindern.
Im Projektverzeichnis wird ein neuer Ordner angelegt: /templates/content_element/player.html.twig
Wirkung der AnpassungHTML-Code:{% extends '@Contao/content_element/player.html.twig' %}
{% block content %}
{{ parent() }}
<script>
(function(){
var wrapper = document.currentScript.closest('.content-player') || document.currentScript.parentElement;
if(!wrapper) return;
var v = wrapper.querySelector('video, audio, iframe');
if (v) {
try { v.setAttribute('controlsList', 'nodownload noplaybackrate'); } catch(e){}
v.setAttribute('disablepictureinpicture','');
v.addEventListener('contextmenu', function(e){ e.preventDefault(); });
v.addEventListener('dragstart', function(e){ e.preventDefault(); });
}
})();
</script>
{% endblock %}
- controlsList="nodownload noplaybackrate" blendet Download- und Geschwindigkeitsoptionen aus (Browser-abhängig).
- disablepictureinpicture deaktiviert die PiP-Funktion in Chromium-Browsern.
- Das JavaScript blockiert das Kontextmenü und verhindert Drag&Drop-Aktionen.
Quelle: https://www.agenturzentral.de/blog/c...den-verhindern
Habe den Rechtsklick im Dom ausgeführt (nicht auf dem Video), danach bin ich zum Video navigiert, habe dort die Attribute entfernt und konnte danach das Video erfolgreich herunterladen :)
Übrigens lieber sofort die Attribute setzen. Das context-menü Event kann man in dem Fall tatsächlich für die ganze Seite deaktivieren.
Zusätzlich sollte man auch ein JS laufen lassen, welches darauf reagiert, dass die Konsole offen ist. Dann sofort einen redirect auf eine andere Seite.
Damit hat man den Download immer noch nicht "geschützt", da man hier dann einfach den Seitenquelltext öffnen kann um die Datei direkt zu laden (inklusive URL) aber es macht es mehr "painful".
Wie schon gesagt, es verhindert nicht die Möglichkeit, das Video auf irgendeinem Weg zu speichern, aber für 95% der Ottonormalverbraucher ist das einfache Herunterladen damit doch verhindert und die gewünschte Funktion aus bereits drei Beiträgen in diesem Forum dargestellt.
Das ist allerdings nicht mehr als eine Scheinlösung. Wirkliche Kontrolle gibt es da nur bei Einsatz eines DRM.
Auch dafür gäbe es Open Source-Tools, aber klar: Your mileage may vary.
Hier gibt es einen richtigen Blog-Post, wie man es mit DRM erreichen könnte:
https://iuuukhueeee.github.io/posts/create-drm-video.md
Benötigt doch ein paar mehr Fähigkeiten als bisschen JS, was Attribute setzt (Welche man auch durch korrekte Anwendung von Twig ohne JS hätte setzen können).
Ja, an Shaka Packager hatte ich dabei auch gedacht … :-)
Ich selbst habe nach einer einfachen Möglichkeit gesucht, wie man lediglich die direkte Download-Möglichkeit der Videos verhindern kann. Dazu habe ich ungefähr fünf verschiedene Forenbeiträge hier und weitere bei Rocksolid gefunden. Jeweils ohne Lösung. Doch die Urgesteine kommen dann, wenn man eine Lösung zum direkten Nachmachen liefert nur mit Kritik daran?
Aber danke, dass du einen RICHTIGEN Blog-Post lieferst, den die meisten in diesem Forum sicherlich mit leichtigkeit verstehen und umsetzen können. Mangels deines Beispiels der korrekten Anwenung von Twig ohne JS bleibt auch diese Aussage leer im Raum stehen. Ich werde aber gerne künftig auf Lösungsvorschläge hier verzichten, wenn diese nur zu Häme führen.
Die Antworten haben ja mit Häme nichts zu tun - das wäre dann doch noch etwas anders.
Wir haben hier ein Forum, in dem Beiträge durchaus noch nach Jahren relevant sind, speziell bei einem Thema wie dem Schutz vor Downloads, der eben eigentlich nur per DRM möglich ist. Da haben wir auch eine Verantwortung, zu sagen, was prinzipiell geht und was nicht.
Natürlich kann man einen Rechtsklick per Javascript abfangen, aber ich bin sicher, das so etwas mehr als die von dir erwarteten 5% der User:innen inzwischen umgehen können. Genauso kann man einen transparenten Layer über eine Webseite packen - auch dort ärgert man Nutzende, schützt aber letztlich nciht wirksam.
Richtig wäre, Kund:innen darauf hinzuweisen, das alles, was sie im Internet zur Verfügung stellen auch in irgendeiner Form genutzt werden kann.
In Zeiten von LLM Training stimmt der Satz auch nicht mehr. Inzwischen muss der heißen: (...) irgendeiner Form genutzt wird.
Aber je nach Nutzergruppe der Seite kann es durchaus schon ausreichen den Download-Link auszublenden. Macht die ARD in Ihrer Audiothek auch. Aber wer sich durch die Dev-Tools wühlt findet natürlich auch hier einen Weg. Den dem Fall umgeht man auch keinen wirksamen Kopierschutz, denn wenn dieser wirksam wäre, würde diese Methode nicht funkionieren.
Okay. Dann werte ich es mal so. Oft finden sich hier im Forum nur Hinweise, wie es funktionieren könnte, man sucht aber dann doch vergeblich nach einer konkreten Lösung. Diese wollte ich in einfacher Form liefern, ohne ein Politikum nach dem ob zu starten. Aber gut, derjenige, dem die Lösung hilft, dem sei hoffentlich geholfen.