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?