3

我想知道是否有可能获得在 php 或 javascript 中登录到计算机的人的用户名。例如,如果我在笔记本电脑上登录计算机并访问网站,我希望它显示我登录时使用的名称。

有没有办法做到这一点,或者是不可能的

4

5 回答 5

4

这对于 PHP 或 Javascript 是不可能的。

您可以查看发送到服务器的标头以查看发送了哪些数据(getallheaders)。

正如其他人建议的那样,您可以使用与主机更紧密集成的插件来获取此信息。

于 2013-03-27T18:52:19.263 回答
0

PHP 是服务器端,您必须使用 PHP 网络服务器插件,如活动目录。但是用户必须通过您的网站进行身份验证,您不能只是“拉”

LDAP 示例:
通过 Active Directory 使用 LDAP 在 PHP 中进行身份验证

于 2013-03-27T18:54:29.490 回答
0

实际上,如果您有 Apache NTLM 模块,这是可能的。但是您必须能够将其安装在您的服务器上。所以如果它是一个托管的盒子,可能不会工作。缺点,我认为它只适用于 IE。

NTLM 是 Microsoft Internet Informations Server(tm) 和 Microsoft Internet Explorer(tm) 使用的身份验证协议。虽然它不是很安全,但它提供了后台身份验证(用户的工作站登录凭据被传递到 Web 服务器)。此功能广泛用于基于这些 Microsoft 产品的 Intranet。

http://modntlm.sourceforge.net/

于 2013-03-27T18:55:28.213 回答
0

PHP 是一个服务器端脚本引擎,除了浏览器向服务器发送的内容外,它对客户端一无所知,但用户名不存在。

与 JavaScript 相同 - 这个在客户端运行,但与网页共享用户名可能是一个严重的安全漏洞。网站应远离任何用户敏感数据。

最后,一些系统可能没有实现任何用户配置文件(如手机和智能手机)。那会寄什么?

于 2013-03-27T18:57:05.170 回答
0

如果只是登录名(用户 ID):

<?php echo filter_input(INPUT_SERVER, 'LOGON_USER'); ?>

这与

<?php echo $_SERVER['LOGON_USER']; ?>

你也可以使用

<?php

foreach ($_SERVER as $var => $value){
    
    echo "$var => $value<br />";
    
}

?>

显示服务器或本地主机中可用的超全局 $_SERVER 的所有可能值。

于 2015-01-11T01:17:34.713 回答