Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
身份验证PHP用户/密码_Php_Authentication_Cgi - Fatal编程技术网

身份验证PHP用户/密码

身份验证PHP用户/密码,php,authentication,cgi,Php,Authentication,Cgi,我总是在PHP上使用一个工作得很好的身份验证。看起来像这样: function login() { header('WWW-Authenticate: Basic realm="Acceso restringido."'); header('HTTP/1.0 401 Unauthorized'); echo "Acceso restringido.\n"; exit; } if (!isset($_SERVER['PHP_AUTH_USER'])) {

我总是在PHP上使用一个工作得很好的身份验证。看起来像这样:

function login()
{
    header('WWW-Authenticate: Basic realm="Acceso restringido."');
    header('HTTP/1.0 401 Unauthorized');
    echo "Acceso restringido.\n";
    exit;
}


if (!isset($_SERVER['PHP_AUTH_USER'])) {
    login();
} else {
    if ($_SERVER['PHP_AUTH_USER'] == 'test' && $_SERVER['PHP_AUTH_PW'] == 'test1') {
   } else {
        login();
    }
}
但是,我将主机更改为ipage.com,现在我获得了用户/通行证提示窗口,但它从不接受分配的用户/通行证。它不断提示用户/通过


我读了一些关于CGI的文章,但没有弄清楚这个方法在配置为CGI的PHP中是否不可用。有其他选择吗?

我认为php代码中的凭据是一个严重的安全问题!您应该使用或通过.htaccess.doa
var\u dump($\u SERVER)
使用身份验证来查看这两个服务器变量中的内容。只有在IIS web服务器下运行时,cgi模式下的PHP才会遇到问题。@MarcB-I var转储,PHP_AUTH_用户和PHP_AUTH_PW甚至不显示为变量……PHP版本5.2.17,API是cgi,如果幸运的话,您的主机允许自定义
.htaccess
(假设是Apache服务器)。您可以使用它来实现HTTP身份验证。