这段代码在我本机的apache下运行即可用,可我传到服务器上后就不好用了为什么呢?

lovetooth 2005-05-11 01:47:18
<?

if ( $PHP_AUTH_USER <> "admin" Or $PHP_AUTH_PW <> "1234" ) {

header("WWW-Authenticate: Basic realm=\"Administration \"");

header("HTTP/1.0 401 Unauthorized");

echo "<script>alert(\"密码错误,无法管理!\");history.back();</script>";

exit;

}

?>
...全文
77 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ray929 2005-05-11
  • 打赏
  • 举报
回复

好多要注意的啊

xuzuning 2005-05-11
  • 打赏
  • 举报
回复
手册语:
同时请注意,在 PHP 4.3.3 之前,由于微软 IIS 的限制,HTTP 认证无法工作在 IIS 服务器的 CGI 模式下。为了能够使其在 PHP 4.3.3 以上版本能够工作,您需要编辑 IIS 的设置“目录安全”。点击“编辑”并且只选择“匿名访问”,其它所有的复选框都应该留空。

另一个限制,在您使用 IIS 的 ISAPI 模式的时候,您无法使用 PHP_AUTH_* 变量,而只能使用 HTTP_AUTHORIZATION。例如,考虑如下代码:list($user, $pw) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));。

IIS 注意事项:: 要 HTTP 认证能够在 IIS 下工作, PHP 配置选项 cgi.rfc2616_headers 必须设置成 0(默认值)。

  • 打赏
  • 举报
回复
一定要在IIS下执行的话,把php换成ASP吧,哈

其实,你大可自己写个身份验证吧,为什么非得要用IE默认弹出的密码框哩~~~
redhatcn 2005-05-11
  • 打赏
  • 举报
回复
把IIS换成Apache吧,呵呵
lovetooth 2005-05-11
  • 打赏
  • 举报
回复
那如果要在iis下执行的话,需要怎么修改呢
ray929 2005-05-11
  • 打赏
  • 举报
回复
PHP手册原文:
PHP 的 HTTP 认证机制仅在 PHP 以 Apache 模块方式运行时才有效,因此该功能不适用于 CGI 版本。

请认真查阅PHP手册
lovetooth 2005-05-11
  • 打赏
  • 举报
回复
我忘了说服务器上的不是apache是iis
redhatcn 2005-05-11
  • 打赏
  • 举报
回复
服务器的Apache可能要以模块的方式解析PHP文件才可以

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧