最后的逻辑有点问题:
if (($PHP_AUTH_USER == "validname") || ($PHP_AUTH_PW == "goodpassword"))
指的是如果用户名和密码中只要有一个符合都可以登录,应当是都符合才能登录吧。不过主要问题不是这里,先检查一下你的用户名和密码是否传到了处理程序。
if (($PHP_AUTH_USER == "validname") || ($PHP_AUTH_PW == "goodpassword"))
指的是如果用户名和密码中只要有一个符合都可以登录,应当是都符合才能登录吧。不过主要问题不是这里,先检查一下你的用户名和密码是否传到了处理程序。
apache2.0.39 php4.2.3在windowsXP下模块方式搭建.
找到一系列 LoadModule开头的指令项,在最后加入如下内容:LoadModule php4_module c:/php433/sapi/php4apache2.dll
<FilesMatch ".php$">
SetOutputFilter PHP
</FilesMatch>注意:要修改c:/php433哦3.屏蔽原来的php.exe#ScriptAlias /php433/ "C:/php433/" AddType application/x-httpd-php .php#Action application/x-httpd-php3 "/php433/php.exe"
找到一系列 LoadModule开头的指令项,在最后加入如下内容:LoadModule php4_module c:/php433/sapi/php4apache2.dll
<FilesMatch ".php$">
SetOutputFilter PHP
</FilesMatch>注意:要修改c:/php433哦3.屏蔽原来的php.exe#ScriptAlias /php433/ "C:/php433/" AddType application/x-httpd-php .php#Action application/x-httpd-php3 "/php433/php.exe" 保存httpd.conf,并退出编辑.
重启apache2服务
请检查PHP_AUTH_USER在何处
LoadModule php4_module c:/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php4 .php3 .php
<FilesMatch ".php$">
SetOutputFilter PHP
</FilesMatch>而
#ScriptAlias /php433/ "C:/php433/"
#Action application/x-httpd-php3 "/php433/php.exe"
我的配置里没有这几行啊
改了也不行啊
怎么检查
$PHP_AUTH_USER是否有值
PHP_AUTH_USER在何处?
谢谢
如果登陆框里出现的是“我的秘密資料2”
那么就得到$PHP_AUTH_USER了
我改了一下是我的秘密資料1,那登录的用户名与密码是哪个啊,
不好意思我是刚学这个的要不哪个前辈帮忙写一个简单程序帮我测试一下是什么问题????
谢谢
设置一个用户名为hello,密码也为hello的方法如下
-------------------Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.C:\Documents and Settings\hai>cd \C:\Apache2\Apache2\bin>htpasswd -c hello.txt hello
Automatically using MD5 format.
New password: *****
Re-type new password: *****
Adding password for user helloC:\Apache2\Apache2\bin>注意:同时你的程序中的"validname"和"goodpassword" 都要改成hello
密码与用户也改了输入hello,
还不行啊再请教谢谢
多谢谢
if ((!isset($_SERVER['PHP_AUTH_USER'])) || (!isset($_SERVER['PHP_AUTH_PW']))) {
header('WWW-Authenticate: Basic realm="我的秘密資料1"');
header('HTTP/1.0 401 Unauthorized');
echo '您必須通過使用者認證。';
exit; } else if ((isset($_SERVER['PHP_AUTH_USER'])) && (isset($_SERVER['PHP_AUTH_PW']))){
if (($_SERVER['PHP_AUTH_USER'] != "hello") || ($_SERVER['PHP_AUTH_PW'] != "hello")) {
header('WWW-Authenticate: Basic realm="我的秘密資料2"');
header('HTTP/1.0 401 Unauthorized');
echo '您必須通過使用者認證。';
exit;
} elseif (($_SERVER['PHP_AUTH_USER'] == "hello") || ($_SERVER['PHP_AUTH_PW'] == "hello")) {
echo "<P>You're authorized!</p>";
}
}
?>