2008-11-19 12 views
17

Ist es möglich, FLV-Dateien vor dem Download zu schützen? Ich möchte meine Dateien vor dem Download schützen, aber ich habe nicht das Geld für einen Streaming-Server, von dem ich denke, dass er einen gewissen Schutz bietet. Die Dateien werden über PHP gestreamt und befinden sich in einem Upload-Ordner auf meinem Server.Flash-Video vom Download schützen/rechts schützen

Ich habe PHP verwendet, um sicherzustellen, dass nur Abonnenten das Video ansehen können, aber ich möchte im Grunde noch einen Schritt weiter gehen und verhindern, dass Abonnenten meine Videos mit Downloader wie Sothink Flv Downloader für Firefox herunterladen.

Antwort

3

Die kurze Version ist, dass DRM (in irgendeiner Form) ein Wettrüsten ist, Wenn ich es spielen kann, kann ich es stehlen. Die einzige Frage ist, wie schwer es ist.

Persönlich glaube ich nicht, dass DRM eine gute Idee ist. Auf lange Sicht wird es nicht helfen, denn Leute, die es stehlen, werden es stehlen, egal was du tust, und diejenigen, die es nicht tun, werden trotzdem dadurch belästigt.

http://xkcd.com/488/


Das heißt, es ist auch keine gute Idee zu stehlen, und Sie sollten das Recht haben, zu kontrollieren, was Sie produzieren. (Allerdings weiß ich nicht, wie das zu tun)


Die einzigen Antworten, die ich mir vorstellen kann hierfür sind: 1) beginnen, etwas zu verkaufen, die nicht gestohlen werden kann oder 1) erleichtern dann kaufen stehlen. Der erste Wert ist Pandora-for-fee/Netflix-for-music (aber mit etwas wie einer CC-Lizenz auf Major-Label-Songs). Die zweite ist nicht einmal ein Problem der Musikindustrie, sondern ein Problem der Finanzindustrie; Wie man online Zahlungen einfach und sicher für beide Seiten macht, ohne den Käufer oder den Verkäufer zu überdrehen.

+1

Vielleicht XKCD sollte die automatische Suche Sache hinzugefügt werden: p – BCS

6

Sie können nicht. Jede Anstrengung oder jedes Geld, das Sie für die Verfolgung von DRM ausgeben, ist eine Verschwendung von Ressourcen, die Sie in die Verbesserung Ihres Produkts hätten investieren können. Lege dein Logo und deine URL in die Videos ein, so dass jeder, der sie kopiert, deine Seite annonciert, einen Urheberrechtshinweis in die Videos schreibt und jeden, den du fälschst, illegal kopierst, und nenne es einen Tag.

8

Es gibt keine Möglichkeit, statischen FLV-Dateien DRM-Schutz (dh Verschlüsselung) hinzuzufügen - jeder, der die URL kennt, kann sie einfach herunterladen oder (in einigen Fällen) aus dem Cache ihres Browsers holen und dann abspielen jeder unterstützende Spieler. (Sie können jedoch wahrscheinlich verhindern, dass Personen Ihre Inhalte in andere Websites einbetten - google "Hotlinking protection".)

Streaming Ihrer FLVs kann kostenlos mit OSS wie Red 5 durchgeführt werden. Dies bietet keinen "DRM" -Schutz per se, aber es sendet das Video in einem Dateistrom, so dass es keine einzelne Datei für den Benutzer zum Herunterladen und Speichern gibt. Es ist immer noch möglich für den Benutzer, die Datei mit bestimmten Programmen zu erfassen, aber es ist viel unbequemer.

Wie für "echte" DRM ist die einzige Lösung, die ich kenne, Adobe Flash Media Rights Management Server. Ich habe es nie benutzt, aber anscheinend wird es DRM-verschlüsselten FLV- oder MP3-Inhalt streamen und Ihnen erlauben, die üblichen Arten von DRM-Beschränkungen anzuwenden.

+2

DRM ist ein Fracking Alptraum zu implementieren, verbraucht drastisch mehr Ressourcen als Nicht-DRM-Lösungen, und treibt häufig den Benutzer verrückt. Wenn es eine würdige Technologie wäre, würden wir es überall im Netz sehen. –

2

Haben Sie darüber nachgedacht, Ihr Video auf Amazon S3 zu hosten? Sie können URLs für das Auslaufen Ihrer Videos festlegen, sodass der Link zum Video nur für einen bestimmten Zeitraum gültig ist. Dies hindert niemanden daran, das Video nach dem Herunterladen aus seinem Cache zu holen, noch verhindert es andere Möglichkeiten wie die Verwendung von Orbit-Downloader oder RealPlayer-Video-Downloader, sondern verhindert Hotlinks.

Ich stimme den Kommentaren zu, dass dies ein Wettrüsten und eine Strategie für die Videoübermittlung ist, die akzeptiert, dass die Leute Videos herunterladen möchten, um sie zu teilen oder auf andere Geräte zu kopieren und versuchen, damit zu leben schmerzfrei. Wasserzeichen, betten Sie Links zu Ihrer Website ein und versuchen Sie, die Zunahme der Anzahl der Augäpfel, die Ihr Video als Ergebnis des Herunterladens ansehen, zu nutzen.

33

Ich stimme dem DRM-Konsens der anderen Antworten voll zu. Aber möchte hinzufügen ...

Es gibt ein paar obfuscation Techniken, die erfüllen, können Sie benötigt. "Gut genug", wie sie sagen. Dies sind keine vollständigen Beweismechanismen, aber sehr wohl verhindern 80% -99% der Leute, die versuchen, Ihre FLV Streams/Dateien zu kopieren. Ein dedizierter Hacker wird um es zu bekommen, aber die meisten Leute sind nur Script Kiddies (oder ihre Firefox-Plug-in Vettern zu lieben.) Außerdem sind einige dieser Techniken einfach:

  • Ändern/Entfernen Sie den MIME-Typ Der Server antwortet mit. Flash-Spieler ignorieren es trotzdem gerne. Zum Beispiel: image/jpeg
  • Ändern Sie die Dateiendung von .flv zu etwas anderem, wie .jpg. Flash-Spieler ignorieren es glücklicherweise trotzdem. Sobald die Datei auf dem Datenträger gespeichert ist, wird sie von einem Nicht-FLV-Player geöffnet (und sich darüber beschwert, dass es sich um ein ungültiges Dateiformat handelt.)
  • Legen Sie für alle Ihre FLV Inhalte aggressive Kopfzeilen fest. (Dies bedeutet natürlich mehr Verkehr und Bandbreite verbraucht. Vielleicht ist das kein Problem für Sie?)
  • Stream über UDP-basierte Protokolle (wie RTSP). Während ich gelesen habe, dass UDP-Protokolle auf dem Weg zum Streaming von On-Demand-Inhalten in großem Maßstab sind, ist es viel schwieriger zu kopieren. Beispiel: Real Downloader kann diese Streams derzeit nicht stehlen.
  • Teilen Sie Inhalt in zwei oder mehr Teile von teilweise Inhalt, und spielen Sie Rücken an Rücken.
  • Verstecken Sie Ihre FLV-Inhalte hinter einer einfachen, kundenspezifische einmalige Authentifizierungsmechanismus
    • Spieler fordert Autorisierungsschlüssel für den Inhalt A
    • Server ein authorization1 Schlüssel zurückgibt: SHA1 (Inhaltsschlüssel + salt1)
    • Server speichert Inhaltsschlüssel, authorization1 Schlüssel, authorization2 Schlüssel (die SHA1 ist (authorization1 + salt2))
      • einmaligen Gebrauch
      • begrenzte Gültigkeit (z.B.: 2 Sekunden)
    • Spieler authorization2
    • Spieler Inhalt ein mit authorization2
    • Server sendet'FLV' Inhalt an den Client, wenn und nur wenn
      • Autorisierungsschlüssel Matches fordert erstellt zu Inhaltsschlüssel im Serverseitenspeicher
      • Autorisierungsschlüssel ist nicht abgelaufen

habe ich tatsächlich die letzte Idee umgesetzt, der Autorisierungsmechanismus, mich selbst und bürge für sie praktische Wirksamkeit sind. Nein, es ist nicht absolut sicher. Aber es ist gut genug. Nicht einmal ein Power-User kann es besiegen.

Besiegen erfordert es

  1. Rückwärts die Verfahrenstechnik,
  2. decompiling Flash-Player,
  3. alles wieder zusammen.

Gut genug.


Es ist erstaunlich, wie viele „plz ich sendet teh codez“ E-Mails dieser Beitrag aus dem „einfachen, individuellem einmaligen Authentifizierungsmechanismus“ Vorschlag erzeugt hat. Mach dir keine Sorgen, ich kann nicht - es war für ein eigenes Projekt für meinen Arbeitgeber, xtendx AG. Wenn Sie das System kaufen möchten, senden Sie eine E-Mail an [email protected]

+0

Ich benutze diese Implementierung des einmaligen Authentifizierungsmechanismus http://stackoverflow.com/questions/8848919/secure-pseudo-streaming-flv-files, was Sie denken? – Anatoly

+0

Ich habe so etwas wie das letzte implementiert, aber es kann viele Probleme haben, wenn Sie auf Ihrem Server einen Cache haben. Durchbricht das gesamte System für mich, es sei denn, Sie speichern die zugehörigen Seiten nicht zwischengespeichert. – Jake

+0

@Jake Nun, es scheint für mich offensichtlich. Aber ich bin zugegebenermaßen mit den damit verbundenen Problemen sehr gut vertraut. Als Faustregel gilt, dass Caching und benutzerspezifische Sicherheit sich gegenseitig ausschließen. –

1

Websites wie youtube versuchen, es schwierig zu machen, ihre Videos herunterzuladen, indem sie den Flash verschleiern und auch die Struktur von Zeit zu Zeit ändern. Wie andere gesagt haben, ist es ein Wettrüsten. Youtube aktualisiert ihre Struktur und dann müssen Tools wie pytube ebenfalls aktualisiert werden.

0

Werfen Sie einen Blick auf this analysis from Longtail.

Es beginnt mit einer goldenen Regel:

Wer Ihr Video kann Ihr Video stehlen.

Und es endet mit einer wirklich schönen Reihe von Sicherheitsfragen und Präventionstechniken.

0

Machen Sie eine separate Website für deinen Inhalt. Konfigurieren Sie die Webserver-App-Einstellungen für den zweiten Standort ("Inhaltsserver"), um Anfragen nach statischen Inhalten (Ihre Videos, Bilder usw.) abzufangen, damit Sie nach einem Berechtigungscookie für jeden angeforderten Inhalt suchen können validiert und gewährt Zugang zu diesem Teil des Inhalts oder nicht.