Hallo miteinander,
ich habe mir auf meinen Webserver mehrere Bilder-Gallerien erstellt, die alle in separate Verzeichnisse liegen. Diese sind jeweils durch eine .htaccess Datei geschützt auf der nur bestimmte Benutzer Zugriff haben.
Bsp:
/var/www/2005_geburtstag_xxx/ -> Benutzerzugriff: nur freunde
/var/www/2005_tennis_xxx/ -> Benutzerzugriff: nur Tenniscollegen etc.
Da es sich mittlerweile um sehr viele separate Bilder-Gallerien handelt und es ziemlich umständlich ist jedem Benutzer diverse OrdnerPfade mitzuteilen, wollte ich eine dynamische Weiterleitung nach erfolgreicher Passworteingabe realisieren.
Der Server soll dann anhand der Benutzereingaben von der Hauptseite ermitteln auf welche Ordner Person xyz Zugriff hat und dann dorthin automatisch weiterleiten, sodass sich keiner mehr einen bestimmten OrdnerPfad (www.domain.de/ordner_xyz) merken braucht sondern nur noch die reine URL.
Es ist ja möglich direkt über die Adresszeile in einem .htaccess geschützten Bereich zu gelangen mit "http://username
asswort@www.domain.de/geschützterbereich"
Jetzt könnte ich ja über ein PHP-Login-Formular auf der Startseite den Benutzer dazu auffordern seine Daten einzugeben. Diese werden dann ausgelesen ... EingabeName mit DateiName aus Datei verglichen (in ihr steht dann der Benutzername und der Subpfad zum geschützten Bereich) und aus der Datei den passenden Pfad ausgelesen.
Ist der Login samt Passwort korrekt so wird anhand der Daten aus der Tabelle eine neue URL generiert die wie oben schon beschrieben so aussieht: http://username:passwort@<a href="ht...n.de/pfad/</a>
Das Script welches ich mir zusammengebastelt habe ist folgendes:
Leider funktioniert es mehr schlecht als recht und ich bekomme immer einen Fehler aus der URL-zusammenstelung?
Für jede Hilfe bin ich sehr Dankbar
greetz
der Doc
ich habe mir auf meinen Webserver mehrere Bilder-Gallerien erstellt, die alle in separate Verzeichnisse liegen. Diese sind jeweils durch eine .htaccess Datei geschützt auf der nur bestimmte Benutzer Zugriff haben.
Bsp:
/var/www/2005_geburtstag_xxx/ -> Benutzerzugriff: nur freunde
/var/www/2005_tennis_xxx/ -> Benutzerzugriff: nur Tenniscollegen etc.
Da es sich mittlerweile um sehr viele separate Bilder-Gallerien handelt und es ziemlich umständlich ist jedem Benutzer diverse OrdnerPfade mitzuteilen, wollte ich eine dynamische Weiterleitung nach erfolgreicher Passworteingabe realisieren.
Der Server soll dann anhand der Benutzereingaben von der Hauptseite ermitteln auf welche Ordner Person xyz Zugriff hat und dann dorthin automatisch weiterleiten, sodass sich keiner mehr einen bestimmten OrdnerPfad (www.domain.de/ordner_xyz) merken braucht sondern nur noch die reine URL.
Es ist ja möglich direkt über die Adresszeile in einem .htaccess geschützten Bereich zu gelangen mit "http://username
![Stick Out Tongue](https://www.php-resource.de/forum/core/images/smilies/tongue.gif)
Jetzt könnte ich ja über ein PHP-Login-Formular auf der Startseite den Benutzer dazu auffordern seine Daten einzugeben. Diese werden dann ausgelesen ... EingabeName mit DateiName aus Datei verglichen (in ihr steht dann der Benutzername und der Subpfad zum geschützten Bereich) und aus der Datei den passenden Pfad ausgelesen.
Ist der Login samt Passwort korrekt so wird anhand der Daten aus der Tabelle eine neue URL generiert die wie oben schon beschrieben so aussieht: http://username:passwort@<a href="ht...n.de/pfad/</a>
Das Script welches ich mir zusammengebastelt habe ist folgendes:
PHP-Code:
<?php
$pfad = "";
define("SUBDIR", "/etc/apache2/pwd/.subdir");
// variable pruefen
if (!isset ($name)) { $name = ""; }
$name = strip_tags ($name);
// .subdir oeffnen und zeilenweise einlesen
$fp = fopen(SUBDIR, "r");
while ($zeile = fgets($fp, 200))
{
//zeile in user, ":", pfad zerlegen
ereg ("(.*)(:)(.*)", $zeile, $passelements);
$singleuser = $passelements[1];
$singledir = $passelements[3];
if ($name == $singleuser)
{
$pfad = $singledir;
}
}
fclose ($fp);
clearstatcache();
//url zusammenstellen
$hh = @fopen("http://{$_SERVER['PHP_AUTH_USER']}:{$_SERVER['PHP_AUTH_PW']}".@{$_SERVER['SERVER_NAME']}$pfad", "r");
if (!$hh) authenticate(); // usual header WWW-Authenticate ...
fclose($hh);
?>
Für jede Hilfe bin ich sehr Dankbar
greetz
der Doc
Kommentar