Re: New identification after an error...

From: Date: Fri, 20 Jan 2006 14:32:56 +0000
Subject: Re: New identification after an error...
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-228944@lists.php.net to get a copy of this message
David BERCOT wrote:
Hi, I use this program to force a user to authenticate : if (!isset($_SERVER["PHP_AUTH_USER"])) {
        header("WWW-Authenticate: Basic realm=\"Intranet SDSED\"");
        header("HTTP/1.1 401 Unauthorized");
} Everything is ok except a detail : if the user makes a mistake (for example, a bad password), the variable $_SERVER["PHP_AUTH_USER"] is initialised. So, if he wants to do again the above test, another identification won't happen (because $_SERVER["PHP_AUTH_USER"] is already set). I've tried : $_SERVER["PHP_AUTH_USER"] = NULL; without succes... Do you have a clue ?
there is also $_SERVER["PHP_AUTH_PWD"] which you can check. and rather than just checking whether $_SERVER["PHP_AUTH_USER"] is set why not also check that the contained value is something valid? you can start by checking that $_SERVER["PHP_AUTH_USER"] is not empty: if (!isset($_SERVER["PHP_AUTH_USER"]) || empty($_SERVER["PHP_AUTH_USER"])) { // send headers } or (pseudocode): if (!isset($_SERVER["PHP_AUTH_USER"]) || empty($_SERVER["PHP_AUTH_USER"]) || !isValidUserName($_SERVER["PHP_AUTH_USER"])) { // send headers }
Thank you very much. David.


« previous php.general (#228944) next »