2011-04-13 29 views
0

嘿家伙, 我再次被卡住了,所以还有其他地方比stackoverflow更好吗? 所以继承人的交易: 我的网站设置和LOCALHOST正常工作。我有我的网站的管理部分 - 没有太花哨,但已使用基本的HTTP身份验证来保护它。 我刚刚将FTP全部转移到LIVE HOST目录,并且注意到HTTP认证不起作用。具体来说,弹出的用户名/密码框会显示正确的详细信息。但是,当我输入正确的登录详细信息时,该框不会让我在页面上显示,它只会重新显示为空。 认证的脚本是一个单独的文件:切换到实体主机时HTTP身份验证不起作用

<?php 
// User name and password for authentication 
$username = 'USER'; 
$password = 'PASSWORD'; 

if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || 
($_SERVER['PHP_AUTH_USER'] != $username) || ($_SERVER['PHP_AUTH_PW'] != $password)) { 
// The user name/password are incorrect so send the authentication headers 
header('HTTP/1.1 401 Unauthorized'); 
header('WWW-Authenticate: Basic realm="The Manor Cheadle"'); 
exit('<h2>The Manor Cheadle</h2>Sorry, you must enter a valid user name and 
password to access this page.'); 
} 
?> 

and is referenced at the top of every page: 

<?php 
require_once('authorize.php'); 
?> 

任何想法如何克服这个,并得到它的工作?

在此先感谢

+0

什么会重新出现空的登录提示或页面?你有没有可能在现场制作中运行“安全模式”? – jishi 2011-04-13 12:14:23

+0

登录提示返回空,并要求您再次填写详细信息。我不知道'安全模式'是什么意思。 – Dan 2011-04-13 13:16:55

回答

0

我总是用这个简单的身份验证,从来没有遇到过问题。但它看起来与你的非常相似。

<? 
$auth = 0; 
if (!isset($_SERVER['PHP_AUTH_USER'])) 
{ 
    header('WWW-Authenticate: Basic realm="Login"'); 
    header('HTTP/1.0 401 Unauthorized'); 
    print "you need to login"; 
    exit; 
} 
else 
{ 
    if ($_SERVER['PHP_AUTH_USER'] == "UserName" and $_SERVER['PHP_AUTH_PW'] == "Password") 
    { 
     $auth=1; 
    } 
    else 
    { 
     header('WWW-Authenticate: Basic realm="Login"'); 
     header('HTTP/1.0 401 Unauthorized'); 
     print "you need to login"; 
     exit; 
    } 
} 

if ($auth==0) { 
    print "you need to login"; 
    exit; 
} 
?> 
+0

我会尝试一下,让你知道。欢呼声 – Dan 2011-04-13 13:09:42

+0

不,同样的问题。我认为你说的与我的相似时是对的。感谢tho – Dan 2011-04-13 13:17:33

+0

感谢th的帮助,不幸的是,我不得不让1and1为我排序。即使他们的htaccess教程也无法正常工作!荒谬! – Dan 2011-04-13 18:17:59