Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
htaccess-config [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




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>

 
iQD
16-11-2001, 11:05 
 
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.

 
iQD
16-11-2001, 11:35 
 
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

 
iQD
16-11-2001, 12:03 
 
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??

 
iQD
16-11-2001, 12:06 
 
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

 
iQD
16-11-2001, 12:19 
 
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.

 
iQD
17-11-2001, 11:26 
 
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!?!?!

 
Sky
17-11-2001, 11:47 
 
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.

 
Sky
17-11-2001, 12:05 
 
bei welchem login?

 
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.

 
Sky
17-11-2001, 12:18 
 
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??

 
Sky
17-11-2001, 12:35 
 
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.

 
Sky
17-11-2001, 12:39 
 
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]

 
Sky
17-11-2001, 12:56 
 
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??

 
Sky
17-11-2001, 13:03 
 
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?!?!

 
Sky
17-11-2001, 14:59 
 
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.

 
Sky
17-11-2001, 15:10 
 
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!!!

 
Sky
17-11-2001, 15:16 
 
siehe neuer thread.

 
Metallica
17-11-2001, 15:18 
 
ok

is auch übersichtlicher


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:47 Uhr.