Ist das so sicher mit htacces und passwort-file
Raffi
- webserver
Hallo Leute
Ist das so sicher:
Ich habe im Verzeichnis
c:\apache\htdocs\test\ die htaccess die den Zugriff sperrt
Die dazugehörige password-Datei ist unter
c:\apache\htdocs\passwords
Das Verzeichnis passwords habe ich mit windows Berechtigungen auf den Administrator beschränkt (Unter diesem User läuft der Apache). Nun sollte es also nicht möglich sein, die password Datei auszulesen. Oder lieg ich da falsch?
Noch ne Frage. Ich schreibe per PHP Script die password Datei. Ich weiss aus Dokus, das Win32 kein crypt versteht. Wenn ich nun mit md5 das Passwort verschlüssle und in das File schreibe, kann ich mich nicht mehr einloggen, ausser ich geb den MD5 Wert als Passwort im Anmeldefenster ein. Es sieht so aus, als ob der Apache nicht "merkt" dass das PW mit md5 verschlüsselt wurde. Muss ich das in der Config oder in der htaccess noch irgendwo vermerken?
Für Eure Tipps bin ich schon im Voraus sehr dankbar.
Danke und Gruss
Raffi
hallo
Ist das so sicher:
nein
Ich habe im Verzeichnis
c:\apache\htdocs\test\ die htaccess die den Zugriff sperrt
auf das verzeichnis "test", ja
Die dazugehörige password-Datei ist unter
c:\apache\htdocs\passwords
Das Verzeichnis passwords habe ich mit windows Berechtigungen auf den Administrator beschränkt (Unter diesem User läuft der Apache). Nun sollte es also nicht möglich sein, die password Datei auszulesen. Oder lieg ich da falsch?
ja
der apache kümmert sich nicht um windows-userrechte.
den interessiert nur der inhalt der .htaccess in dem zu schützenden verzeichnis
pack die .htpasswd ausserhalb von htdocs
z.b. in das verz. vom apache selber und ändere den pfad in der .htpasswd
Noch ne Frage. Ich schreibe per PHP Script die password Datei. Ich weiss aus Dokus, das Win32 kein crypt versteht. Wenn ich nun mit md5 das Passwort verschlüssle und in das File schreibe, kann ich mich nicht mehr einloggen, ausser ich geb den MD5 Wert als Passwort im Anmeldefenster ein. Es sieht so aus, als ob der Apache nicht "merkt" dass das PW mit md5 verschlüsselt wurde. Muss ich das in der Config oder in der htaccess noch irgendwo vermerken?
unter windows bekommst du gültige, md5-verschlüsselte passwörter nur mit der htpasswd.exe aus dem apache\bin-verzeichnis. wen du das per php machen willst, musst du diese datei per php steuern.
btw. ein bischen mehr in selfhtml und der php-doku lesen hätte dich auch selber drauf gebracht.
freundl grüsse, raik
Ja...das ist mir klar ausserhalb des Dokumentenverzeichnis. Aber wie greiffe ich da mit PHP zu um in die Datei zu schreiben?
Gruss
raffi
Ja...das ist mir klar ausserhalb des Dokumentenverzeichnis. Aber wie greiffe ich da mit PHP zu um in die Datei zu schreiben?
probier mal durch, welche von den globalen php-variablen dir nen brauchbaren pfad liefert, um an das file dort ranzukommen.
das es geht, weis ich. habs nur grad nicht parat.
und die htpasswd.exe kannst du per exec mit parametern starten und den rückgabewert in einer variablen speichern.
damit kannst du dann ja weiterarbeiten.
grüsse, raik
Wie soll das gehen....Php kann doch nicht in Files ausserhalb des htdocs schreiben. Das wäre ja ne riesen Sicherheitslücke. Oder seh ich da was falsch?
Gruss
Raffi
Wie soll das gehen....Php kann doch nicht in Files ausserhalb des htdocs schreiben. Das wäre ja ne riesen Sicherheitslücke. Oder seh ich da was falsch?
ja
php wird nicht "auf deinem server" ausgeführt, sondern "auf deinem pc".
und als solches kann es überall hinschreiben und auch dein windows-verzeichnis löschen, wenn du ein script so schreibst, das man ihm solchen code unterjubeln kann.
du kannst mit "exec" *jedes* programm auf deinem rechner starten und wenn es kommandozeilen-parameter kennt, auch steuern.
probier es aus und schau, das du jeden wert, den du von ausserhalb deines rechners bekommst, prüfst, bevor du ihn verwendest.
grüsse, raik
Ja es geht tatsächlich.....wie unterbinden denn das die provider? Das kanns ja nicht sein, das ich einem provider das ganze windows oder unix verzeichnis lösche....
Ja es geht tatsächlich.....wie unterbinden denn das die provider? Das kanns ja nicht sein, das ich einem provider das ganze windows oder unix verzeichnis lösche....
kann ich dir nicht sagen.
vielleicht kennt sich ja jemand anderes damit aus?
*lausch* *horch*
grüsse, raik
Hallo nochmal zu guten Nacht,
Wenn Du Deinen Server vernünftig einrichtest, dann lässt Du den Deamon (PHP-Runtime) mit Dateirechten nur an die Verzeichnisse ran, die ihn was angehen. Schau mal nach in der httpd.conf, was unter dem Stichwort User eingestellt ist.
Section 2
#...
User apache
Group apache
#...
Wie das mit der Gruppe bei der Windows-Konfiguration des Apache ist, weiß ich nicht. Aber der User ist der Account, unter dem der Dienst läuft.
Grüße
Tom
Hallo,
wie wärs denn mit include_path ?
Das Verzeichnis wird doch wohl außerhalb der Document Root liegen und durch Inastallation schon für Apache zugänglich sein, nehme ich mal an.
Sonst müssen eben die Windows-Zugriffsrechte für den User Apache entsprechend freigegeben werden.
Grüße
Tom