wake-up-neo.com

Verhindert das Herunterladen von Dateien, während sie angezeigt werden

Wir haben eine Website mit einem Login-Bereich, über den Kunden Dokumente herunterladen können, die der Kunde für sie hochlädt. Es wurden jedoch einige "vertrauliche" Dokumente besorgt, die der Client nicht zum Herunterladen zur Verfügung stellen darf, die jedoch im Anmeldebereich angezeigt werden dürfen, sofern der Benutzer die Datei nicht herunterladen kann.

Sobald die Informationen auf dem Bildschirm angezeigt werden, gibt es natürlich Möglichkeiten, sie zu erfassen, aber ich denke, solange keine Option Datei> Speichern (oder Rechtsklick> Speichern unter) möglich ist, ist dies in Ordnung. Besser noch, wenn die Informationen nicht einmal kopiert/eingefügt werden konnten. Irgendwelche Ideen, wie so etwas erreicht werden könnte?

3
user37714

Wenn es nicht zu kompliziert ist, können Sie einen "Screenshot" davon machen und diesen auf der Seite posten. Sie können das Bild speichern, aber nicht den tatsächlichen Text/Inhalt.

Ein weiterer kleiner Trick besteht darin, ein transparentes div darüber zu platzieren und den Rechtsklick für weniger technisch versierte Benutzer zu deaktivieren.

Sie können auch einen getMeTheFile.php erstellen und diesen verwenden, um die Dateien abzurufen. Überprüfen Sie in dieser PHP -Datei, ob Sie sich auf der gesamten Seite befinden oder direkt geöffnet sind (Rechtsklick -> Speichern wäre ein direkter Aufruf).

Ich glaube nicht, dass Sie dies zu 100% aufhalten können, sondern nur ein paar Straßensperren.

3
Martijn

Wir haben eine Website mit einem Login-Bereich, über den Kunden Dokumente herunterladen können, die der Kunde für sie hochlädt. Es wurden jedoch einige "vertrauliche" Dokumente besorgt, die der Client nicht zum Herunterladen zur Verfügung stellen darf, die jedoch im Anmeldebereich angezeigt werden dürfen, sofern der Benutzer die Datei nicht herunterladen kann.

Leider, zumindest wenn wir davon ausgehen sollen, dass Sie mit "Datei" wirklich "den hochgeladenen Inhalt" meinen, dies ist eine unmögliche Kombination.

Es ist unmöglich, weil m etwas im Internet anzuzeigen der Computer, auf dem es angezeigt wird musszuerst heruntergeladen werden diese Daten auf irgendeine Art und Weise von lokalen Medien (auch wenn nur in den Arbeitsspeicher). Wenn der Browser die Daten herunterladen kann, kann ein ausreichend motivierter Benutzer den heruntergeladenen Stream erfassen und speichern. In 99% der Fälle wäre es wahrscheinlich einfacher als das. Webentwicklungs-Debugging-Tools gibt es, die solche Dinge sogar relativ einfach machen würden.

Wie bereits erwähnt, können Sie Straßensperren anbringen. Hier sind ein paar Ideen:

  • JavaScript zum Blockieren von Rechtsklicks, um ein Kontextmenü aufzurufen.

  • Ein Flash- oder Java-basierter Renderer, der das Speichern nicht zulässt.

  • Ein transparentes <DIV> -Element über dem Anzeigeelement (jedoch abhängig von Besonderheiten, die sich auf die Navigation im Dokument auswirken können).

  • Überprüfen Sie den HTTP-Header Referer auf der Serverseite und senden Sie die Daten nur, wenn sie Ihren Erwartungen entsprechen.

  • Verwenden Sie HTTPS, möglicherweise sogar mit einem Client-Zertifikat, um Stream-Sniffing zu verhindern.

  • In geschützte PDFs rendern und nur diese PDFs verfügbar machen.

Letztendlich handelt es sich jedoch um Roadblocks. Sie können das Herunterladennicht verhindern, gerade weil der Inhalt in irgendeiner Form heruntergeladen werden muss), um angezeigt zu werden. Hier einige Ideen wie ein Benutzer in der Lage sein könnte, die oben genannten Maßnahmen zu umgehen:

  • JavaScript zum Blockieren von Rechtsklicks, um ein Kontextmenü aufzurufen. Deaktivieren Sie die clientseitige Verwendung von Javascript oder verwenden Sie eine Methode, um dasselbe zu erreichen, bei der die geschützten Elemente nicht mit der jeweiligen Maustaste bedient werden.

  • Ein Flash- oder Java-basierter Renderer, der das Speichern nicht zulässt. Screenshots der gerenderten Inhalte werden bei entsprechender Vergrößerung manuell oder automatisch zusammengefügt. Auch heruntergeladenes Datenstromschnüffeln unter Verwendung von z.B. ein Packet Sniffer wie Wireshark oder tcpdump.

  • Ein transparentes <DIV> -Element über dem Anzeigeelement (abhängig von Besonderheiten, die sich auf die Navigation im Dokument auswirken können). Verwenden einer DOM-modifizierenden Erweiterung wie Adblock Plus oder Firebug, um das fehlerhafte Element zu entfernen oder zu deaktivieren.

  • Überprüfen Sie den HTTP-Referer-Header serverseitig und senden Sie die Daten nur, wenn sie Ihren Erwartungen entsprechen. Verwenden Sie ein Benutzerprogramm, mit dem der Referer explizit für eine externe Anfrage festgelegt werden kann, z. B. Wget (funktioniert auch mit Cookies usw.).

  • Verwenden Sie HTTPS, möglicherweise sogar mit einem Client-Zertifikat, um Stream-Sniffing zu verhindern. Ein traditioneller Man-in-the-Middle-Angriff gegen den HTTPS-Stream.

  • In geschützte PDFs rendern und nur diese PDFs verfügbar machen. Verwenden Sie einen PDF Drittanbieter-Viewer, der den Schutz nicht einhält (es stehen mehrere Open-Source-ViewerPDF zur Verfügung, die, falls dies noch nicht vorhanden ist, möglicherweise relativ einfach von jemandem verwendet werden können mit entsprechenden Kenntnissen angepasst werden, um die Schutzflaggen zu ignorieren).

Am Ende Sie müssen sich mit Ihrem Kunden besprechen und genau herausfinden, was sein Bedarf tatsächlich ist. Vielleicht bietet einer oder eine Kombination der oben genannten Faktoren einen ausreichenden Schutz. Aber Sie müssen sagen Sie es ihnen vorher: Es ist nicht möglich, das Herunterladen zu verhindern, während die Anzeige erlaubt ist, da die Anzeige das Herunterladen impliziert.Ob dies ein Problemist eine andere Angelegenheit, die vom Risiko des Kunden abhängt Analyse im Einzelfall.

3
a CVn

Wenn es sich bei den Dokumenten um PDF Dateien handelt oder diese in PDF Dateien konvertiert werden können, gibt es einige Möglichkeiten, die Verwendung des Dokuments einzuschränken, z. B. das Drucken, Kopieren/Einfügen oder Extrahieren von Inhalten aus es. Sie müssen wahrscheinlich eine Anwendung von Adobe oder Foxit kaufen, um diese geschützten PDFs zu erstellen.

0
ZippyV