我在xampp服务器中测试了这个编码,用户名是正确的。
<?php
echo getenv("username");
?>
但是我用不同的用户名登录,它显示了第一个用户名。如何在 php 中获取当前窗口登录用户名?
你通过CLI执行你的php脚本吗?如果是这样,我会简单地使用
<?php
exec('whoami', $whoami);
return trim($whoami[0]);
?>
但是正如其他人已经说过的那样,您无法为任何登录的系统用户检索密码
除了要求之外,无法获取用户的用户名和密码。
环境变量只会在脚本正在运行的情况下为您提供用户名。如果您通过网络服务器调用它,它将是运行网络服务器的用户名。如果您从 shell 运行脚本,您将在运行脚本的情况下获得用户名。没有办法从环境变量中获取密码(这很好,这将是一个巨大的安全漏洞)。
如果您想从访问您网站的用户那里获取用户名和密码,则必须通过其他方式获取此信息。您没有提供有关您使用的操作系统的详细信息,因此只能笼统地回答。
使用Windows(在客户端),您可以通过 NTLM 获取用户名,但这仍然不会为您提供用户的密码,它使用不同的身份验证方法,如 Kerberos。如前所述,作为一种Microsoft解决方案,它仅适用于 Windows 客户端,并非所有浏览器都支持。
要获取用户名和密码,您必须向用户询问用户名和密码,无论是在您的网站上使用表单还是通过网络服务器进行身份验证。