Archiv verlassen und diese Seite im Standarddesign anzeigen : htaccess-config
Metallica 16-11-2001, 10:43 Hi!
Ich hab die htaccess von meinem Server in mein phpmyadmin-directory kopiert.
Wenn ich jetzt die index.php3 starte kommt (so wie ich es will) das Window "Geben Sie Benutzernamen und Kennwort ein."
Das Problem: Der Server nimmt mir zwar den Benutzernamen aber das Passwort nicht.
Was paßt da an der htaccess nicht??
<htaccess>
AuthUserFile /u/httpd/cgi-bin/secure/.htpasswd
AuthGroupFile /dev/null
AuthName Control Panel
AuthType Basic
DirectoryIndex index.html /cgi-bin/secure/index
<Limit GET POST>
require user XXXXX
</Limit>
probier des mal ohne des <htaccess> und lass des AuthGroupFile /dev/null weg
AuthUserFile /u/httpd/cgi-bin/secure/.htpasswd
AuthName Control Panel
AuthType Basic
DirectoryIndex index.html /cgi-bin/secure/index
<Limit GET POST>
require user XXXXX
</Limit>
Metallica 16-11-2001, 11:27 hab beides weggelöscht => er nimmt mir das passwort aber immer noch nicht.
Eigenartig ist aber, dass ich den Pfad von
AuthUserFile /u/httpd/cgi-bin/secure/.htpasswd
nirgend's in meinem Serverdirectory finden kann.
zum einen, de 2 zeilen kannst schon reingeben, nur bringts eh nix, da ja die dateiangabe auf /dev/null is
bist dir sicher dass der pfad auch stimmt?
deutet alles drauf hin dass der falsch is
schau mal den pfad durch bis zum documen_root
wömöglich hast des /u zuviel
/u/httpd/cgi-bin/secure/.htpasswd
aja des passwortfiel sollt ma auch imma ausserhalb des document_root speichern
meine .htaccess schaut z.b. so aus
AuthUserFile /home/iQD/.htpass
AuthGroupFile /dev/null
AuthName "Developers"
AuthType Basic
<Limit GET POST>
require user admin
</Limit>
liegt bestimmt am pfad oder an den rechten
check mal sicherheitshalber ob du den files de richtigen rechte geben hast -> chmod 444 (alle nur lesen)
Metallica 16-11-2001, 12:03 ja genau das ist der springende Punkt.
ich erklär dir das mal kurz:
Auf meinem Server war phpmyadmin leider nicht vorinstalliert, sondern irgend so ein Schei.-Proggi von denen zur Datenbankverwaltung.
In meinen Server-Dir war das ganze unter .../stats drinnen.D.h. das Proggi und die htaccess mit diesem komischen Pfad. Aber das Passwort hat gefunkt.
Jetzt hab ich die htaccess in .../phpmyadmin/ reinkopiert. Und da nimmt er mir wie gesagt den Benutzernamen aber nicht das passwort.
Und den Pfad /u/httpd/cgi-bin/secure/.htpasswd kann ich auch nirgends auf meinem Server-Dir finden.
Verstehst Du's??
sehr strange
lass dir mal des document_root ausgeben mit:
<?
echo $GLOBALS["DOCUMENT_ROOT"];
?>
[Editiert von iQD am 16-11-2001 um 12:09]
Metallica 16-11-2001, 12:13 der browser gibt mir folgendes aus:
/u/web/XXXXX
wunderbar
dann erstelle dein passwort file(.htpasswd) in /u/web/XXXXX
dann sieht deine .htaccess folgendermassen aus
<htaccess>
AuthUserFile /u/web/XXXXX/.htpasswd
AuthGroupFile /dev/null
AuthName Control Panel
AuthType Basic
DirectoryIndex index.html /cgi-bin/secure/index
<Limit GET POST>
require user XXXXX
</Limit>
und die zugriffsrechte der files auf 444 (nur lesen) oder die standardmässigen 644
aber du kannst natürlich des file auch
wahrscheinlich wude der pfad geändert weil ursprunglich angebne hast es sei /u/httpd ....
dann müsste es funzen
aber du kannst des file auch auf /u/web/XXXXX/cgi-bin/secure/.htpasswd geben, is dort noch sicherer oder ausserhalb des document root auf /u/web/.htpasswd wenn dies geht mit deinen rechten
[Editiert von iQD am 16-11-2001 um 12:24]
Metallica 16-11-2001, 13:52 ich schau mir das in ein paar Std. an => bin grad mörder im Stress.
Meld mich dann!
MANY THANKS, derweil!
Bye
Metallica 17-11-2001, 10:40 Oh, Sh.t!
Hab die htaccess jetzt so umgeändert und er nimmt mir das pw immer noch nicht.
AuthUserFile /u/web/XXXXX/.htpasswd
AuthGroupFile /dev/null
AuthName Control Panel
AuthType Basic
DirectoryIndex index.html /cgi-bin/secure/index
<Limit GET POST>
require user mone69
</Limit>
Auch mit /u/web/XXXXX/cgi-bin/secure/.htpasswd geht's nicht.
Noch was:
Ich hab eine zweite htaccess in meinem Web-Dir liegen und zwar unter dem Ordner /stats (wo dieses schei.-proggi drinnen ist) => das war vom Provider so eingerichtet. Dort nimmt er aber das pw.
Ich versteh echt nicht, warum es dort funkt und bei phpmyadmin nicht.
Ich kann die htaccess im Ordner /stats weder löschen noch editieren. Dateiattribute kann ich ebenfalls nicht setzen. Hat das der Provider gesperrt, oder was??
[Editiert von Metallica am 17-11-2001 um 10:53]
Metallica 17-11-2001, 11:19 im errorlog-file des servers steht folgendes:
[error] user XXXXXX not found: /phpmyadmin/index.php3
da steh ich natürlich nicht drinnen weil man ja alles in der config.inc.php3 eintragen muss.
Ich hab eine zweite htaccess in meinem Web-Dir liegen und zwar unter dem Ordner /stats
schau dir mal de .htaccess dort an(weil lesen kannst sie ja oder?) und schreib mal was in der steht
ja und gesperrt kann des der provider haben, wenn nicht in der group bist die haben musst für die rechte hast kan zugriff
Metallica 17-11-2001, 11:38 Diese Provider-Trotteln haben auf den stats-ordner nur lesen erlaubt.
Hab's jetzt auf schreiben erweitert und konnte den Ordner löschen wobei ich die files error_log und .htaccess in das DIR phpmyadmin reikopiert habe.
Die htaccess paßt so denn im error_log steht:
user XXXX required in index.php3 (=>die Startdatei von phpmyadin => die Benutzerdaten kann man aber nur in der config.inc.php3 eigeben).
AuthUserFile /u/httpd/cgi-bin/secure/.htpasswd
AuthGroupFile /dev/null
AuthName Control Panel
AuthType Basic
DirectoryIndex index.html /cgi-bin/secure/index
<Limit GET POST>
require user XXXXX
</Limit>
Sucht sich der server eigentlich automatisch die htaccess => wollt nur mal nachfragen weil ich sie jetzt ja samt dem error_log-file verschoben habe. Hoffentlich ist das kein Problem!?!?!
Hintergrundinformation:
Apache durchsucht bei jedem GET-Request die Verzeichnisse vom document root bis zum Verzeichnis, in dem die angeforderte Datei liegt, nach .htaccess Dateien.
Enthält ein Verzeichnis keine .htaccess-Datei, so gilt für dieses automatisch die nächste .htaccess in den übergeordneten Verzeichnissen.
Beispiele (/web/ ist document root):
(I)
server/web/ mit .htaccess-Datei
server/web/static/ ohne .htaccess-Datei
-> .htaccess von /server/web/ wird auch für server/web/static/ benutzt.
(II)
server/web/ mit .htaccess-Datei
server/web/static/ mit .htaccess-Datei (kann auch leer sein)
-> nur der Inhalt der .htaccess von /server/web/static wird benutzt.
Metallica 17-11-2001, 11:58 ok, alles klar. dann müßte das so passen wie ich's gemacht habe.
kannst du mir vielleicht sagen, was ich in die index.php3 von phpmyadmin reischreiben muss damit der server beim login nicht andauern die fehlermeldung: user XXXXX in index.php3 required
???
die .htaccess müßte so passen.
Metallica 17-11-2001, 12:12 Alllsooo, das ganze geht so:
ich hab mir ein Directory auf meinem server erstellt das da heißt: phpmyadmin => wenn ich dieses GEILE Proggi über die index.php3 starte dann komm ich sofort in meine DB-Aministration rein.
Soweit so gut. Bis da her paßt ja alles.
Damit aber nicht jeder reinkommt steuere ich über die .htaccess ein Benutzerlogin an (ich hab einfach die htaccess in das directory phpmyadmin reinkopiert!).
D.h., ruft man die index.php3 auf kommt ein kleines Window (du kennst es sicher) mit Namen Netzwerkkennwort eingeben wo dann drunter der Benutzername und das Kennwort verlangt werden. Erst dann kommt man in phpmyadmin rein.OK?!?!
So, und jetzt kommen wir zum eigentlichen Problem:
Der Server nimmt mir das Passwort nicht und sagt jedesmal: User XXXXX in index.php3 required. Das ist das Startfile von phpmyadmin. Da stehen natürlich mein Username und Passwort nicht drinnen weil man das ganze ja in die config.inc.php3 eintragen muss.
Meine Frage ist jetzt, wie ich benutzername und kennwort in die index.php3 reinschreiben muss, damit es der Server checkt.
hmhm.. Aber das hat doch nichts mit config.inc.php3 oder index.php3 zu tun, oder hab ich das nun falsch verstanden?
Es liegt doch an deiner .htaccess bzw. deiner .htpasswd (wie sieht die in etwa aus?)
Metallica 17-11-2001, 12:26 naja, das ist ja der springende punkt:
meine htaccess sieht so aus:
AuthUserFile /u/httpd/cgi-bin/secure/.htpasswd
AuthGroupFile /dev/null
AuthName Control Panel
AuthType Basic
DirectoryIndex index.html /cgi-bin/secure/index
<Limit GET POST>
require user XXXXX
</Limit>
obwohl mein document_root Pfad so aussieht:
/u/web/XXXXX
jetzt hab ich statt /u/httpd/ eben /u/web/XXXXX reingeschrieben. Hat aber auch nichts genutzt.
Und irgendwie komm ich an diese .htpasswd nicht ran. Wo liegt die bzw. kann ich sie finden??
Da, wo du ihren Standort angegeben hast:
/u/httpd/cgi-bin/secure/.htpasswd
Wenn sie nicht existiert, musst du eine anlegen.
Das Format sieht so aus:
username1:password1
username2:password2
und so weiter... Wobei password nur der Hash des eigentlichen Passworts ist.
Zum Berechnen des Hashes kannst du z.B. die folgende Seite bemühen: http://www.inch.com/info/tech/HOWTOS/htaccess/htpasswd.html
Metallica 17-11-2001, 12:47 aha, schön langsam kommt licht in die sache.
möglicherweise hab ich gar keine passwortdatei.
aber wie ist es dann wiederum möglich,dass er das passwort dass ich vom provider zugwiesen habe bekommen beim alten login (ich hab vor phpmyadmin ein anderes proggi verwendet) genommen hat??
wenn ich jetzt so 'ne passwortdatei erzeuge, muss ich dann auch diesen pfad in meinem web-dir anlegen oder genügt nur die datei??
[Editiert von Metallica am 17-11-2001 um 12:51]
Also, einfach mal ein funktionierendes Beispiel:
.htaccess im zu schützenden Verzeichnis
AuthUserFile /u/web/.htpasswd
AuthName "Control Panel"
AuthType Basic
DirectoryIndex index.html /cgi-bin/secure/index
<Limit GET POST PUT>
require valid-user
</Limit>
/u/web/.htpasswd
username:passwordhash
Metallica 17-11-2001, 12:59 ja genauso hab ich's jetzt gemacht.
hab die .htpasswd angelegt und drinnen steht:
user:passwort (die Hash-Version davon)
die .htaccess sieht so aus:
AuthUserFile /u/httpd/cgi-bin/secure/.htpasswd
AuthGroupFile /dev/null
AuthName Control Panel
AuthType Basic
DirectoryIndex index.html /cgi-bin/secure/index
<Limit GET POST>
require user XXXXX
</Limit>
nur wo lege ich jetzt die .htpasswd in meinem server-dir ab??
Ok... Also
1. Warum willst du das machen?
2. Hast du Zugriff auf das Server-Directory oder dein persönliches Home-Verzeichnis?
Metallica 17-11-2001, 13:09 Ahh, Sh.t - es funktioniert nicht obwohl ich in meinem Server-Dir jetzt den Pfad genauso angelegt habe wie in der .htaccess definiert bzw. wie in deinem Beispiel. Aber es funkt nicht.
1. Damit nur ich Zugriff darauf habe. Es soll ja nicht jeder in meine phpmyadmin-DB-Verwaltung reinkommen.
2. ins server-dir komm ich nicht. ich befinde mich in meinem persönlichen home-dir denn wenn aus meinem Verz. kann ich nicht in ein darüberliegendes; wenn du das meinst?!?!
die .htpasswd kannst du auch im selben dir wie die .htaccess haben - normalerweise sollte jeder, der sich das Ding dann per HTTP ansehen will, einen Forbidden bekommen.
Metallica 17-11-2001, 15:01 das hab ich auch ausprobiert. geht aber nicht!
ich weiß nicht was mein provider da für 'ne Schei.e gemacht hat. aber egal welchen pfad ich versuche und wo ich die htpasswd ablege - er nimmt's nicht.
auf das serverdirectory hab ich keinen zugang. ich kann mich nur in meinem persönlichen homedir bewegen.
zeig doch mal, wie das nun bei dir aussieht...
Metallica 17-11-2001, 15:13 AuthUserFile mm/.htpasswd
AuthGroupFile /dev/null
AuthName Control Panel
AuthType Basic
DirectoryIndex index.php3
<Limit GET POST>
require user XXXXX
</Limit>
In meinem Server-Dir hab ich ein Verz. "mm" angelegt wo die .htpasswd drinnen ist die so aussieht:
XXXXX:pw (bereits die Hash-Version davon)
und trotzdem nimmt er mir das pw beim einloggen nicht.
langsam aber sicher bin ich am verzweifeln!!!
Metallica 17-11-2001, 15:18 ok
is auch übersichtlicher
|