Thomas Schmieder: Fotos/Bilder in MySQL Datenbank

Beitrag lesen

Hallo Andreas,

nun lass mal die Luft ganz vorsichtig wieder ab und komm ganz langsam wieder auf den Teppich zurück. Du bist auf dem falschen Dampfer gelandet...

Ich lasse den langen Text jetzt mal drin.

Ist das eigentich so schwer zu begreifen? Wenn Du willst das ein User im Browser ein Bild angezeigt bekommt, dann muß dieses Bild bevor es angezeigt wird als Datei im Temporären Ordner des Browsers gespeichert werden. Was auch immer Du vorher für Verränkungen anstellst - das kann man nicht schützen! Vielleicht gegen ein paar Stümper die keine Ahnung haben oder Leute die sich Ihre Webseiten grundsätzlich zusammenklauen, aber selbst die können nicht soooo doof sein. Das einzige was Dir diese Methode bringt wenn ich es richtig verstanden habe, das eine Fremde Webseite die Bilder nicht direkt verlinken kann. Aber auch das läßt sich spielen mit einem kleinen PHP-Script umgehen, denn mit PHP, PERL und vielen anderen Sprachen und kleinen Tools kannst Du einen Browser vollständig emulieren, Du kannst machen was Du woillst, solange die Bilder über Deine Homepage frei zugänglich sind kommt man da auch ran. Wobei man wie gesagt mit einigen Methoden einigen Leute Steine in den Weg legen kann, aber mehr auch nicht.

Es geht nicht um einen "Kopierschutz" für ausgelieferte Bilder, sondern es geht um einen Zugriffsschutz für noch auszuliefernde Bilder. Haaalt! Luft holen, bis zehn zählen, Gehirn einschalten :-))

Dämmert es nun langsam?

Es gibt durchaus Bilddatenbanken, in denen die Nutzer für die Info bezahlen, oder in denen ein gewisser Datenschutz der Nutzer gegeneinander gewährleistet sein muss. Das kann man eben nur mit
a) in der Datenbank gepeicherten Bildern
b) in einm geschützten Verzeichnis gespeicherten Bildern

erreichen.

In beiden Fällen ist das DAI dafür zuständig, die Rechte des Anfragenden zu prüfen und dann ggf. auszuliefern, auszutauschen oder zu verweigern.

Und was hat das mit dem referenzierten Bild zu tun? PHP ist doch egal was in der DB steht! Das Script erzeugt halt Header und schickt dann die Binärdaten des Bildes, so das der Browser denkt es handele sich um ein "echtes" Bild, wo liegt das Problem?

Genau, und weil es sich um ein Script handelt (im Beispiel fehlt natürlich der Auth-Teil, aber den sollte man sich ja selber dazu denken können) kann vom Script eine Authentifizierung vorgenommen werden. Die Zugriffsdaten können sogar in der Datenbank stehen.

Und wie willst Du mit HTTP an die Bilder auf meinem Server rankommen, die in einem Verzeichnis außerhalb der Document-Root stehen?

Wieso? Das machst Du doch bereits für uns ;-) Wie bereits gesagt, wenn Di bilder nur im Document Root liegen und Du kein Script hast um diese auszugeben dann wird Sie außer Dir keiner zu Gesicht bekommen. Wäre wohl die sicherste Variante.

Nein, das wäre nicht sicher. Mit einer geeigneten Scan-Anfrage kann man das gesamte Verzeichnis auslesen, wenn die Rechte für ein normales <img src="..."> eingestellt sind.

Die nächst sichere wäre die Bilder in ein .htaccess geschütztes Verzeichnis zu legen und nur bestimmten User Zutritt zu verschaffen, aber selbst da ist fraglich ob Du das willst!

Nein, das habe ich auch nicht gemeint. Das wäre ein viel zu großer Verwaltungsaufwand, für jeden User die Files per .htaccess zu signieren. Das geht zwar, .htaccess ist aber von seiner Art her (eher) ein _Verzeichnisschutz_ und kein Schutz für einzelne Files.

Wenn Du willst das alle die Bilder ohne Beschränkung sehen können, dann kann es auch jeder Browser, und wenn es automatisiert sein soll, dann lassen wir PHP & Co. halt so tun als seien sie Browser!

Darum ging es ja gerade, das _nicht_ alle Leute alle Bilder sehen dürfen, sondern nur bestimmte Leute bestimmte Bilder, und das vielleicht täglich wechslend und in überschneidenden Mengen.

Soll ich schon mal die Kripo anrufen? :-))
Au ja! Das wird die sicher interessieren!

Klar interessiert die das, wenn sich jemand zu geschützten Daten wiederrechtlich Zugang verschafft. Das ist eine Straftat, die zwischen fünf und 15 Jahren ### einbringt.

So, nun hoffe ich, dass klar ist, worum es hier ging.
Noch ein Wort in eigener Sache: Ich gehöre nicht zu den Leuten, die im Internet die Methode "meins, meins..." propagieren, sondern zu denen, die gerne Erfahrungen und Ergebnisse teilen. Trotzdem kann die Aufgabenstellung ja Datenschutz verlangen - oder?

Nun leg dich wieder hin :-))

Liebe Grüße aus http://www.braunschweig.de

Tom