Bilder schützen?

Ich nehme an er meint folgendes:

Die Bilder sollen auf einer Seite ausgegeben werden durch <img>.

Das Bild hat natürlich ein Adresse (src="...") und ist folglich irgendwo gespeichert. Der User allerdings soll nicht in diesen Ordner gelangen, bzw. durch Eingabe der Adressen-URL das Bild sehen.


Nun eine andere Frage:

Ich habe vor ein GalleryScript für meine HP selber zu schreiben. Nun kann es aber sein, dass die Bilder auf einem anderen Server gespeichert sind. Diese sollen da auf jeden Fall geschützt werden, so dass man sich diese dort nicht angucken kann (siehe oben).
1) Wie kann ich dies bewerkstelligen (siehe Topic)
2) Wie kann ich diese Bilder in das GalleryScript dennoch übernehmen ?

mbecker
 
Also m.e. geht das was ihr vor habt nicht. Ich kann nicht ein Bild auf der Webseite für jeden zugängig anzeigen lassen und gleichzeitig das Bild sosehr schützen, das man es nicht per Pfad auslesen lassen kann.

Folgende Dinge kann man allerdings machen:
1. Man kann den Quelltext (recht aufwendeig) verstecken und die rechte Maustaste sperren und was man sonst noch so machen kann um den user zu hindern sich überhaupt die "Adresse" des Bilds zu holen. Davon würde ich auf jeden fall abraten, da dies mehr Nach- als Vorteile bringt.
2. Man kann die Bilder nur in einem geschützen Bereich zur Verfügung stellen.
3. Man sichert sich die Bilder durch das von mir vorher angesprochene Verfahren
 
@mbecker
Zu deiner Frage:
Ein mögliches Szenario wäre folgendes:
Auf dem einen Server mit dem Gallery-Skript nimmst du eine PHP-Datei, welche dir die Bilder ausliefert.
Diese erhält als Parameter irgendwie den Dateiname/Pfad/weissdergeier, wodurch sie weiss, welches Bild vom anderen Server angezeigt werden soll.

Dieses liefert sie über ein simples readfile() aus(vorher den korrekten Content-Type-Header senden).

Damit wirklich nur dieses Skript an diese Bilder rankommt, schickt man bei der Anforderung an den anderen Server über die URL eine geheime Zeichenkette mit, also:
PHP:
header('Content-Type:image/jpg');
readfile('http://anderer.server.de/bild.jpg?geheimerstring');

Auf dem anderen Server kann man diesen Query-String abfragen.
Ist er korrekt, wird das Bild ausgeliefert, wenn nicht, wird die Anfrage mit einer Rewrite-Rule abgelehnt:
Code:
#.htaccess im Grafikverzeichnis des anderen Servers
RewriteEngine On
RewriteCond %{QUERY_STRING} !^geheimerstring$
RewriteRule (gif|png|jpe?g)$ - [F]

Fertig: Solange du die geheime Zeichenkette keinem verrätst, kommt nur dein PHP-Skript an die Bilder ran:)
Damit jetzt nicht einfach jemand dein PHP-Skript verwendet, legst du einfach ne Session an .... keine Session... dann lass das Skript sofort sterben.


Was die Sache angeht, wenn alles auf demselben Server liegt:

Das Verzeichnis mit den Bildern komplett sperren.
Die Bilder liefert wieder ein PHP-Skript per readfile() aus(wichtig dabei: Pfad im lokalen Dateisystem angeben und nicht mit PHP). Verzeichnisschutz per .htaccess betrifft keine Anfragen im Dateisystem...somit kann das PHP-Skript jederzeit auf die Bilder zugreifen.
Den Zugriff auf das PHP-Skript selbst kann man analog zum ersten Beispiel regeln.
 
Zurück