Mailinglisten-Archive |
> "[...]
> Welche Einschränkungen haben Scripte allgemein bei Puretec?
> [...]
>
> PHP läuft bei Puretec als CGI. Damit funktionieren Headerveränderungen
> (notwendig zur Authentifizierung per 401) nicht. Bitte beachten Sie auch
> die dadurch entstehenden weiteren Einschränkungen.
soll das etwa ein problem sein ???????
eine lösung wäre:
funktion auth() returned true oder false
$selfphp = preg_replace("/^.*\\//","",$PHP_SELF);
$user = "alphatier";
$pw = "wolf".rand(1,10);
$check_security = true;
function auth($basicrealm="Securitycheck") {
GLOBAL $selfphp,$user,$pw,$su,$sp,$PHP_AUTH_PW,$PHP_AUTH_USER;
GLOBAL $check_security;
if($check_security==true){
if (preg_match("/\\.(exe|cgi)$/i",getenv("SCRIPT_FILENAME"))==true) {
if(!isset($suser)){$suser="";}
if(!isset($spw)){$spw="";}
$suser = sess_get_var("user"); // session spezifisch
$spw = sess_get_var("pw"); // session spezifisch
if( $suser == md5($user) && $spw == md5($pw) ){
return true;
}elseif( _(at)_$su == $user && _(at)_$sp == $pw ){
sess_save_var("user",md5($user)); // session spezifisch
sess_save_var("pw",md5($pw)); // session spezifisch
return true;
} else {
echo '<html><body><form action="'.$selfphp.'" method="post">
<h1>Authentification</h1>
<input type=hidden name=session value=uehr2389hwoeihdf>
<input type="text" name="su" size="30" maxlength="80" value=""> User<br>
<input type="password" name="sp" size="30" maxlength="80" value="">
Passwort<br>
<input type="submit" value="Ok">
</form></body></html>';
return false;
exit;
} // endelse
} // endif cgi oder exe
else {
if(!$PHP_AUTH_USER || !$PHP_AUTH_PW) {
Header("WWW-Authenticate: basic realm=\"$basicrealm\"");
Header("HTTP/1.0 401 Unauthorized");
return false;
exit;
}
else {
if ($PHP_AUTH_USER == $user && $PHP_AUTH_PW == $pw) { return true; } else
{ return false; }
}
} // endelse exe cig
} elseif($check_security==false) {return true; } else { return false; }
}
-kiri
_______________________
http://www.php-usertreffs.de
php::bar PHP Wiki - Listenarchive