2009-03-18 7 views
2

Ich benutze asp.net und meine Benutzer müssen private Bilder auf meinen Server hochladen. Diese Bilder können auf keinen Fall verbreitet werden, also muss ich sie irgendwie schützen. Was ist der einfachste Weg, um sie vor der öffentlichen Nutzung zu schützen, so dass nur der autorisierte Benutzer sie erreichen kann?Bilder schützen, wie?

Danke!

+0

Sie haben um genauer zu sein über das, was Sie wollen, mit diesen Bildern nach dem hochgeladenen Video zu tun. Archiviert man sie, bedient sie eine eingeschränkte Gruppe oder ... Wie sollen die Menschen darauf zugreifen? Ansonsten könntest du sie einfach löschen - das würde sicherstellen, dass sie nicht verbreitet werden ;-) – f3lix

Antwort

4

Verwenden Sie einen asp.net-Handler, anstatt die Bilder direkt zu liefern. Auf diese Weise können Sie bei der Bereitstellung des Images eine genaue Kontrolle über die Autorisierung haben.

Halten Sie außerdem die Bilder aus öffentlichen Ordnern, damit Benutzer sie nicht herunterladen können, d. H. Sie außerhalb des Ordners für die Website oder in einer Datenbank speichern.

Überprüfen Sie dies für ein bisschen mehr Informationen über Handler: http://www.wrox.com/WileyCDA/Section/id-291916.html. Beide Samples liefern Bilder, aber sie konzentrieren sich auf ziemlich spezifische Szenarien. Wie Sie hier sehen können, haben Sie die vollständige Kontrolle über die Logik, die Sie dort implementieren. So können Sie überprüfen, ob der Benutzer, der das Bild anfordert, berechtigt ist, das angegebene Bild herunterzuladen.

8
  • Möchten Sie, dass die Öffentlichkeit die Bilder sehen kann, aber es ein wenig schwieriger macht, sie herunterzuladen?

    Wenn ja, könnten Sie in the way Flickr does it nachsehen, für jeden, der keine Downloads zulässt. Sie legen ein transparentes GIF-Bild über das reale Bild, um zu verhindern, dass das Bild durch Klicken mit der rechten Maustaste heruntergeladen wird.

    Es ist immer noch ziemlich einfach, sie herunterzuladen, denn als Faustregel kann alles, was die Öffentlichkeit sehen kann, auf ihrer Festplatte gespeichert werden. Ich sehe daher Versuche, das Herunterladen von öffentlich sichtbarem Material zu verhindern, als ziemlich zwecklos; und meistens nur eine Verletzung der Benutzerfreundlichkeit. Vielleicht sollten Sie eher über legale Wege als über Verschleierung nachdenken; Nennen Sie Ihren Urheberrechtshinweis und jede gewünschte Lizenz klar und seien Sie bereit, jeden zu verfolgen, der sie stiehlt.

  • Möchten Sie zulassen, dass Benutzer Bilder von Ihrer Website anzeigen und herunterladen, aber nicht, um sie von anderen Websites zu verknüpfen?

    Wenn dies der Fall ist, ist es der Schlüssel, den gesendeten Referer (sic) Header zu erkennen und das Image zu verweigern, wenn der Referer keine Übereinstimmung ist. Beachten Sie, dass der Referrer standardmäßig leer sein muss, wenn der Referer leer ist, da die Browser vieler Leute legitimerweise keinen Referer senden, selbst wenn Sie auf Ihrer eigenen Seite sehen.

    Dies wird normalerweise in einer Server-Richtlinie getan; Wenn Sie Apache verwenden, würden Sie es tun in an .htaccess file using mod_rewrite directives. Wenn Sie jedoch auf IIS sind, dann bin ich weniger klar, obwohl these instructions may or may not help.

  • Oder möchten Sie verhindern, dass die Öffentlichkeit sie überhaupt sehen kann? Wenn dies der Fall ist, müssen Sie nur die Zugriffskontrolle auf dem von Ihnen verwendeten Server verwenden - hier ist access control instructions for IIS.

+0

@thomasrutter Ich stimme zu, dass du nicht viel tun kannst, um zu verhindern, dass ein autorisierter Benutzer das Bild speichert und es außerhalb deines Systems verbreitet. Dies bedeutet nicht, dass Sie jemandem erlauben dürfen, die Bilder des Benutzers direkt vom System herunterzuladen. – eglasius

+0

@Freddy Rios, wenn das Blockieren von nicht autorisierten Personen das ist, was gewünscht wird, dann ist das ein Problem der Zugriffskontrolle - Sie müssen es so einrichten, dass unbefugte Personen überhaupt nicht auf die Bilder zugreifen können. Aber um es den Menschen zu ermöglichen, sie zu sehen, gibt es keine physische Möglichkeit, sie daran zu hindern, sie zu speichern oder zu kopieren, sondern nur legale Wege. – thomasrutter

+0

@thomasrutter zugestimmt, lesen Sie die Frage erneut :) --- Ich denke, es ist genau das (Genehmigung), beachten Sie, dass Sie Bilder auf einer pro Benutzer/Gruppe Basis perfekt autorisieren können – eglasius