我刚刚将此站点从一台服务器移至另一台服务器。它在 DigitalOcean 上运行良好,然后被转移到 SiteGround。现在登录不工作了,他们看了看,说这是问题所在,但以前工作得很好。
class AmbushController extends Zend_Controller_Action
{
public function init()
{
//PROTECT PAGE WITH HTTP AUTHENTICATION
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Please enter admin password"');
header('HTTP/1.0 401 Unauthorized');
echo 'Unauthorized';
exit;
} else {
if($_SERVER['PHP_AUTH_USER'] === 'user' &&
$_SERVER['PHP_AUTH_PW'] === 'pw'){
} else {
header('HTTP/1.0 401 Unauthorized');
echo 'Unauthorized';
unset($_SERVER['PHP_AUTH_USER']);
exit;
}
}
$this->_helper->layout->setLayoutPath(APPLICATION_PATH . '/layouts/scripts/admin/');
}
最佳答案
你确定调用header之前没有任何输出吗?空格通常会导致隐患。 如果此代码在以前的服务器上运行良好,您可以查看配置文件,但我个人应该查看 php.ini :-)
关于php - http认证不重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45978482/