PHP 獲得域控內用戶的計算機登錄名


一個需求: 在域控范圍獲得訪問用戶的計算機名.方法:

1.測試軟件環境: XAMPP Control Panel V3.2.1 ,  Apache version 2.4.7

2.Apache 2.2 使用 mod_auth_sspi.so 模塊,Apache 2.4 以后此模塊不再適用,使用mod_authnz_sspi 模塊。

二、安裝

1.下載mod_authnz_sspi 模塊。(x86 for 32bit apache, x64 for 64 bit apche ) Download the module from here 

https://www.apachehaus.net/modules/mod_authnz_sspi/ 

2.將模塊拷貝到apache 安裝目錄中的 modules文件中

3. 確保如下兩個模塊可用。

LoadModule authn_core_module modules/mod_authn_core.so

LoadModule authz_core_module modules/mod_authz_core.so

4.配置Apache的httpd. conf文件

在LoadModule 語句的最后添加加載模塊語句

LoadModule authnz_sspi_module modules/mod_authnz_sspi.so

在httpd.conf文件最后添加:

<Directory "D:/xampp/htdocs">     # 指定網站根目錄

    AllowOverride None

    Options None

    AuthName "My Intranet"  (這個名字可以隨便設置)

    AuthType SSPI

    SSPIAuth On

    SSPIAuthoritative On

    require valid-user

    require user "NT AUTHORITY\ANONYMOUS LOGON" denied

</Directory>

5. 保存conf 文件,重啟Apache

 

 

查看模塊是否加載: phpinfo();

 

Check the Apache Version

Httpd  -v 

 

PHP 實現代碼:

 

$username = $_SERVER['PHP_AUTH_USER'];

echo $_SERVER['PHP_AUTH_USER'];

 或:

echo "<br>".$_SERVER['REMOTE_USER'];

$username = substr(strrchr($username, '\\'), 1);

echo "<br>".$username;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM