如何使用作为CGI运行的PHP填充$服务器[';远程用户';]变量?

如何使用作为CGI运行的PHP填充$服务器[';远程用户';]变量?,php,windows,cgi,Php,Windows,Cgi,我试图让变量$\u SERVER['Remote\u User']对我的内部应用程序的用户进行身份验证,但没有成功 用以CGI运行的PHP有什么方法可以做到这一点吗 我已经尝试了谷歌搜索时发现的所有工作区(重写规则,在.htaccess中设置变量,然后分解b64编码的字符串) 或者有没有其他的好方法来获取访问我网站的人的用户名 这是我的$\u服务器阵列的打印输出: Array ( [HTTP_HOST] => tnxp.telenor.net [HTTP_USER_AGENT] =>

我试图让变量
$\u SERVER['Remote\u User']
对我的内部应用程序的用户进行身份验证,但没有成功

用以CGI运行的PHP有什么方法可以做到这一点吗

我已经尝试了谷歌搜索时发现的所有工作区(重写规则,在.htaccess中设置变量,然后分解b64编码的字符串)

或者有没有其他的好方法来获取访问我网站的人的用户名

这是我的$\u服务器阵列的打印输出:

Array
(
[HTTP_HOST] => tnxp.telenor.net
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_ACCEPT_LANGUAGE] => en-us,en;q=0.5
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_CONNECTION] => keep-alive
[HTTP_CACHE_CONTROL] => max-age=0
[PATH] => /sbin:/usr/sbin:/bin:/usr/bin
[SERVER_SIGNATURE] => 
Apache/2.2.15 (Red Hat) Server at tnxp.telenor.net Port 80


[SERVER_SOFTWARE] => Apache/2.2.15 (Red Hat)
[SERVER_NAME] => tnxp.telenor.net
[SERVER_ADDR] => 10.179.98.20
[SERVER_PORT] => 80
[REMOTE_ADDR] => 148.121.183.28
[DOCUMENT_ROOT] => /var/www/html
[SERVER_ADMIN] => root@localhost
[SCRIPT_FILENAME] => /var/www/html/ew/index.php
[REMOTE_PORT] => 50315
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] => 
[REQUEST_URI] => /ew/
[SCRIPT_NAME] => /ew/index.php
[PHP_SELF] => /ew/index.php
[PHP_AUTH_USER] => t820082
[PHP_AUTH_PW] => asdf
[REQUEST_TIME_FLOAT] => 1359703708.68
[REQUEST_TIME] => 1359703708
)
理想情况下,我希望它包含[REMOTE_USER]=>客户端用户名

感谢您的帮助

变量是不应该设置的。它们由服务器在加载脚本时设置,并将在下次加载时重置


改为使用(如果需要,纯CGI中也有单独的类用于处理会话-只有google CGI会话-那里有很多文档)。

可能是这样的吗

$loginName = substr($loginName, 0, 2).strToLower(substr($loginName, 2));



$authorizedUserList = Array();

$authorizedUserList[] = "user1";

$authorizedUserList[] = "user2";

$authorizedUserList[] = "user3";

$authorizedUserList[] = "user4";
forEach($authorizedUserList as $authorizedUser){

    if(strToUpper($authorizedUser) == strToUpper($loginName)){

        $authCheckPass = true;

    }

}

浏览器无法发送此变量!!!因为它的操作系统用户名发送是不合法的…阿卡姆·奥马尔:我不确定这是否正确。我可以在IE中用ActiveX获取这个,它可以在不运行CGI的php中工作。我想我把这个问题拼错了。我知道它是在加载脚本时由服务器设置的,但这就是问题所在->变量未设置。