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?
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.
Grundsätzlich wird nicht die Möglichkeit zum Speichern des Videos gänzlich genommen, da sich dieses ja bereits beim Abspielen auf dem Gerät befindet, doch die gewünsche Funktion zum einfachen Speichern ist damit verhindert. Beispiel der funktionierenden Lösung unter https://www.landradl.de/
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".
Geändert von zoglo (29.08.2025 um 19:08 Uhr)
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.
Contao in Kiel: kikmedia webdevelopment | Contao-Partnerin | Contao Usergroup Kiel | github | Contao-Community-Alliance | MetaModels-Team
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 … :-)
Cheerio,
-9999px;
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)