|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
I was trying to test the following PHP script and am having some
difficulty: <?php if (empty($_SERVER['PHP_AUTH_USER']) || empty($_SERVER['PHP_AUTH_PW'])) { header('WWW-Authenticate: Basic realm="Admin Control Panel"'); header('HTTP/1.0 401 Unauthorized'); exit; } echo 'PHP_AUTH_USER: '.htmlspecialchars($_SERVER['PHP_AUTH_USER']).'<br />'; echo 'PHP_AUTH_PW: '.htmlspecialchars($_SERVER['PHP_AUTH_PW']); ?> When I try it on Abyss web server what happens is that I enter "test" as my username / password and then it echoes them back to me. On Apache, it just keeps prompting me for the password. It's as though PHP_AUTH_* is never being set. Any ideas as to why this is and what I'd need to do to fix it? |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
yawnmoth wrote:
> I was trying to test the following PHP script and am having some > difficulty: > > <?php > if (empty($_SERVER['PHP_AUTH_USER']) || > empty($_SERVER['PHP_AUTH_PW'])) > { > header('WWW-Authenticate: Basic realm="Admin Control Panel"'); > header('HTTP/1.0 401 Unauthorized'); > exit; > } > > echo 'PHP_AUTH_USER: > '.htmlspecialchars($_SERVER['PHP_AUTH_USER']).'<br />'; > echo 'PHP_AUTH_PW: '.htmlspecialchars($_SERVER['PHP_AUTH_PW']); > ?> > > When I try it on Abyss web server what happens is that I enter "test" > as my username / password and then it echoes them back to me. On > Apache, it just keeps prompting me for the password. It's as though > PHP_AUTH_* is never being set. Any ideas as to why this is and what > I'd need to do to fix it? > I know, I know... personal plug = bad taste.... However, I have done some work with basic auth through apache/php and did a quick write up: http://koivi.com/php-http-auth/ -- Posted via a free Usenet account from http://www.teranews.com |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
On Nov 5, 3:33 pm, yawnmoth <terra1...@yahoo.com> wrote:
> > I was trying to test the following PHP script and am having > some difficulty: > > if (empty($_SERVER['PHP_AUTH_USER']) || > empty($_SERVER['PHP_AUTH_PW'])) .... > When I try it on Abyss web server what happens is that I enter > "test" as my username / password and then it echoes them back > to me. On Apache, it just keeps prompting me for the password. > It's as though PHP_AUTH_* is never being set. Any ideas as to > why this is and what I'd need to do to fix it? Most likely, your PHP is configured as CGI/FastCGI. HTTP authentication, on the other hand, is only supported if PHP is configured as an Apache module. Documentation says it quite clearly: The HTTP Authentication hooks in PHP are only available when it is running as an Apache module and is hence not available in the CGI version. http://www.php.net/features.http-auth Another possibility is that your Apache installation does not have an authorization module. Cheers, NC |
|
![]() |
| Outils de la discussion | |
|
|