Probleme mit .htaccess und .htpasswd
Manfred Dessel
- webserver
Hallo zusammen!
Ich habe folgendes Problem. Ich habe auf einem Confixx-WebServer einen
Webspeicher mit PHP und Mysql Funktion gemietet.
Zum probieren habe ich eine Startdatei index.php erstellt und eine Datei
ausgabe.php, die im Verzeichnis kunde01 liegt und von der index.php aufgerufen
wird.Soweit, so gut. Alles funktioniert noch.
Jetzt wollte ich dafür sorgen, dass das Verzeichnis kunde01 mit einem Password-Schutz versehen wird.
Dazu habe ich die beiden untenbeschriebenen Dateien .htaccess und .htpasswd wie unten beschrieben
angelegt.
Da ich als User ben01 (Den Benutzernamenamen habe ich hier geändert) mit dem entsprechenden
Password in das FTP Menü gelange habe ich zunächst diesen user mit in die Datei aufgenommen.
Diese beiden Dateien habe ich dann in das Verzeichnis kunde01 gespeichert.
Danach hatte ich weder Zugriff auf die beiden Dateienn .htaccess und .htpasswd
(Sind nur noch über die Rechte des root -Systemadministrators zu bearbeiten) noch habe ich
einen Zugriff auf die Datei ausgabe.php.
Normalerweise müsste doch automatisch eine Login-Maske erscheinen, in der ich zumindestens mit dem
User ben01 + Password einloggen könnte.
Kann mir irgend jemand erklären, was ich falsch mache?
Über eine Antword würde ich mich sehr freuen.
Gruss M.Dessel
Verzeichnisstruktur auf dem Web-Server
files Ordner
html Ordner
--cig-bin Ordner
--kunde01 Ordner
-- .htaccess Datei
-- .htpasswd Datei
-- ausgabe.php Diese Datei soll geschützt werden.
--index.php Startseite
log Ordner
phptmp Ordner
.htaccess
AuthUserFile /html/kunde01/.htpasswd
AuthName kunden
AuthType Basic
<Limit GET>
require user ben01
</Limit>
.htpasswd
ben01:abcdefg
Vielen Dank für Deien Hilfe, aber hat leider nicht zum Erfolg geführt.
Gruss M.Dessel
Hi,
welches Betriebssystem liegt auf dem server? hast du dir http://de.selfhtml.org/servercgi/server/htaccess.htm
schonmal durchgelesen?
MfG
Hi,
soweit ich weiss, liegt da Linux oder so was, da zwischen gross und kleinschreibung unterschieden wird.
Gruss M.Dessel
Hi,
noch eine Ergaenzung der Server laeuft unter
Apache/2.0.48 (RedHat 9/Server4You)
Gruss M.Dessel
Lieber Manfred,
AuthUserFile /html/kunde01/.htpasswd
dieser Pfad ist nicht absolut! er beginnt erst bei /html/, was aber ein Unterordner innerhalb Deines Webaccounts ist! Finde den root-Level Deines Accounts heraus, passe den oben monierten Pfad an - dann sollte es klappen.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix,
vielen Dank fuer den Hinweis.
Wie finde ich denn den kompletten Pfad heraus?. Ich habe leider keine root-Rechte um den kompletten Pfad zu sehen.
Gruss Manfred
Lieber Manfred,
Wie finde ich denn den kompletten Pfad heraus?. Ich habe leider keine root-Rechte um den kompletten Pfad zu sehen.
-> Provider fragen!
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix
Wie finde ich denn den kompletten Pfad heraus?. Ich habe leider keine root-Rechte um den kompletten Pfad zu sehen.
-> Provider fragen!
oder vorher den Webserver:
phpinfo(), falls vom Provider erlaubt, kann einige Informationen dazu ausspucken,
unter anderem der Inhalt von http://www.php.net/manual/de/reserved.variables.php#reserved.variables.server@$_SERVER,
z.B. $_SERVER['PATH_TRANSLATED'].
Freundliche Grüße
Vinzenz
Lieber Vinzenz,
unter anderem der Inhalt von http://www.php.net/manual/de/reserved.variables.php#reserved.variables.server@$_SERVER,
z.B. $_SERVER['PATH_TRANSLATED'].
Vielen Dank für diesen Denkanstoß! Genau das habe ich vor der Beantwortung oben auch getan. Dabei habe ich aber festgestellt, dass der in meinen .htaccess-Dateien verwendete Pfad ein völlig anderer ist als der, den die Variable $_SERVER['PATH_TRANSLATED'] in meiner phpinfo() angibt! Daher bin ich davon ausgegangen, dass diese Angabe nicht hilft - ja mehr noch: Der von mir (erfolgreich) verwendete Pfad taucht in der Ausgabe von phpinfo() nirgends auf!
Ich hatte mir den von mir verwendeten Pfad in einer vorhandenen .htaccess abgeschaut, die mit einem vom Provider zur Verfügung gestellten Script (Sitecontrol) erzeugt wurde.
Daher habe ich verworfen, über phpinfo() einen brauchbaren Pfad in Erfahrung zu bringen und geraten, den Provider zu fragen...
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo,
was ich völlig vergessen hatte:
Meiner Meinung nach sollte man bei der Verwendung von http-Authentication eine User/Passwortdatei außerhalb der Documentroot des Webservers unterbringen. Natürlich nur, sofern man darauf Zugriff hat.
Freundliche Grüße
Vinzenz
Hallo zusammen,
ich habe den Pfad herausgefunden und bin auch schon ein bischen weiter gekommen.
Zumindest kommt jetzt die Anmeldemaske. Gebe ich dort meinen usernamen ein und bestätige das mit unter Crypt auf der SELFHTML-Seite verschlüsselte Password, so wird mir der Zugang verweigert.
Hat noch jemand ne Idee wo das wieder herkommt?
Gruss Manfred
Hallo Manfred
Zumindest kommt jetzt die Anmeldemaske. Gebe ich dort meinen usernamen ein und bestätige das mit unter Crypt auf der SELFHTML-Seite verschlüsselte Password, so wird mir der Zugang verweigert.
Hat noch jemand ne Idee wo das wieder herkommt?
Bei allen Webservern, bei denen mir http-Authentication zur Verfügung stand, genügte crypt-Verschlüsselung nicht, md5 wurde hingegen akzeptiert.
Lies bitte dazu dieses Posting von Christian Seiler.
Freundliche Grüße
Vinzenz
Lieber Manfred,
so habe ich in PHP meine Passwörter verschlüsselt:
function verschluesseln($passwort)
{
mt_srand((double)microtime()*1000000); // Zufallszahl erzeugen
$zufallszahl = substr(htmlspecialchars(mt_rand()), 4, 2);
$passwort = crypt($passwort, $zufallszahl);
return $passwort;
}
Liebe Grüße aus Ellwangen,
Felix Riesterer.