Erwin: Apache - Zugriffssicherheit

Beitrag lesen

hi,

Gib mal die %ENV auf dem Webserver aus. Also bei mir ist es so, dass der Apache(hier eine WindowsVersion) keinen USER ausgibt der auf der lokalen Machine angemeldet ist.

Mal ne doofe Frage, wie kann ich den %ENV ausgeben?

=umgebung
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
while( my($k, $v) = each %ENV){ print "$k  \t $v \n" }
=cut

.htaccess

Den damit angemeldeten Benutzer findest du in der Umgebungsvariable
REMOTE_USER

Nun, mache folgendes:
Erstelle eine Datei .htaccess in dem Verzeichnis wo obenstehendes Script liegt

=.htaccess
AuthUserFile /tmp/.passwordfile
AuthName "Secret"
AuthType Basic
require valid-user
=cut

Dann erzeugst du mit dem ApacheTool htpasswd (siehe Apacheverzeichnis) eine Passwortdatei:

=Kdo
C:\Programme\Apache Group\Apache2\bin>htpasswd -c .passwordfile erwin
Automatically using MD5 format.
New password: *****
Re-type new password: *****
Adding password for user erwin
=cut

Wichtig bei Apache für Windows: encrypt mit MD5 (default), die .passwordfile sieht so aus
=.passwordfile
C:\Programme\Apache Group\Apache2\bin>more .passwordfile
erwin:$apr1$6y1.....$tcffJA/Ju.qViNjUq4JcN1
=cut

und die Datei muss hierhin: AuthUserFile /tmp/.passwordfile
also da wie oben angegeben.

Wenn du nun das umgebungsScript aufrufst wirst du name und passwort eingeben müssen, dann siehst du auch in der %ENV den
REMOTE_USER

GRuss, Erwin

--
SELFforum - Das Tor zur Welt!
Theoretiker: Wie kommt das Kupfer in die Leitung?
Praktiker: Wie kommt der Strom in die Leitung?