Supportnet / Forum / Webseiten/HTML
Bilder in Fotoalbum schützen
Frage
Moin zusammen :)
ich hab folgendes Problem, ich hab mir in PHP ein fotoalbum geproggelt mit login-system über mysql-server.
Das funktioniert auch ganz gut, man darf die ganzen Seiten erst nach Login sehen.
Wenn ich aber den Link von einem Bild habe, kann ich das ja auch direkt aufrufen, und das würd das Login-System ja für die Katz machen.
Kann mann das so biegen, das die Bilder nur angezeigt werden, wenn der Login erfolgreich ist? weil dabei ja eigentlich keine webseite aufgerufen wird...
als Webserver benutz ich hier den IIS 6.0.
Für Ratschläge bin ich dankbar ;)
Antwort 1 von rfb
am einfachsten wäre der Verzeichnisschutz mittels .htaccess, allerdings weiß ich nicht, ob dein Server das unterstützt.
Antwort 2 von ClemBra
Oder man ruft nicht die Bilder direkt, sondern ein Script auf.
Also ein Link auf
bild.php?datei=bild01.jpg&session=xxxxxxxxxxxxxxx
Und das Bild, welches wenn möglich noch durch htaccess geschützt ist, wird dann durch die bild.php aufgerufen:
Also ein Link auf
bild.php?datei=bild01.jpg&session=xxxxxxxxxxxxxxx
Und das Bild, welches wenn möglich noch durch htaccess geschützt ist, wird dann durch die bild.php aufgerufen:
<?php
// wichtig: kein Leerzeichen vor dem öffnenden Tag
session_start();
incude("functions.php");
if (!user_allowed($_SESSION[´user_id´])) {
header("Content-Type: image/jpeg");
readfile("denied.jpg");
exit;
}
// wenn mehrere verschiedene Bildtypen vorhanden sind noch weiter spezifizieren
header("Content-Type: image/jpeg");
// Übergebenen Dateinamen überprüfen, niemals kompletten URI aus Parameter direkt einbinden!
readfile("geheim/" . $_GET[´datei´]);
?>

