• 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 AUTHORITYANONYMOUS 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;

  • 相关阅读:
    WebService发布到IIS
    MongDb的安装
    Linux shell编程— 命令替换
    Linux软件包管理
    Linux 管理进程
    Linux 中进程的管理
    JavaScript学习day3 (基本语法下)
    JavaScript学习day2 (基本语法上)
    JavaScript学习day1
    Python 学习
  • 原文地址:https://www.cnblogs.com/igoogleyou/p/phpremoter.html
Copyright © 2020-2023  润新知