≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

php/js获取客户端mac地址的简单示例

人气:257 时间:2021-01-21

这篇文章主要为大家详细介绍了php/js获取客户端mac地址的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小玲来看看吧!

废话不多讲,直接上代码吧!

 

代码如下:


<?php
/*   四海网 www.q1010.com   */
   
class MacAddr 
{   
    public $returnArray = array();    
    public $macAddr;   

    function __contruct($os_type=null){ 
        if(is_null($os_type)) $os_type = PHP_OS;   
        switch (strtolower($os_type)){   
        case "linux":   
            $this->forLinux();   
            break;   
        case "solaris":   
            break;   
        case "unix":   
            break;   
        case "aix":   
            break;   
        default:   
            $this->forWindows();   
            break;   
        }   
        $temp_array = array();   
        foreach($this->returnArray as $value ){   
            if(preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i", $value, $temp_array)){   
                $this->macAddr = $temp_array[0];   
                break;   
            }   
        }   
        unset($temp_array);   
        return $this->macAddr;   
    } 

    function forWindows(){   
        @exec("ipconfig /all", $this->returnArray);   
        if($this->returnArray)   
            return $this->returnArray;   
        else{   
            $ipconfig = $_SERVER["WINDIR"]."system32ipconfig.exe";   
            if (is_file($ipconfig))   
                @exec($ipconfig." /all", $this->returnArray);   
            else  
                @exec($_SERVER["WINDIR"]."systemipconfig.exe /all", $this->returnArray);   
            return $this->returnArray;   
        }   
    } 

    function forLinux(){   
        @exec("ifconfig -a", $this->returnArray);   
        return $this->returnArray;   
    }   
}   

$mac = new MacAddr(PHP_OS);   
echo $mac->macAddr;   
echo "<br />"; 

// 获取客户端 
// linux 
$command = "arp -a {$_SERVER['REMOTE_ADDR']}"; 
echo $command; 
echo "<br />"; 
$result=`{$command}`;  

// windows 
$command = "nbtstat -a {$_SERVER['REMOTE_ADDR']}"; 
echo $command; 
echo "<br />"; 
$result=`{$command}`;  
print_r($result);   
?>

 

获取服务端的逻辑没什么大问题,可能会存在权限问题。
获取客户端的时候,可能会比较慢,arp/nbstat命令执行会比较慢。

 

代码如下:


<script language="JScript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">    
document.forms[0].lbMacAddr.value=unescape(MACAddr);    
</script>   
<script language="JScript" event="OnObjectReady(objObject,objAsyncContext)" for="foo">    
if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true && objObject.MACAddress != null && objObject.MACAddress != "undefined") MACAddr = objObject.MACAddress;    
</script>   
<object id="locator" classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6"></object>   
<object id="foo" classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223"></object>   
<script language="JScript">    
var service = locator.ConnectServer();    
var MACAddr ;    
var IPAddr ;    
var DomainAddr;    
var sDNSName;    
service.Security_.ImpersonationLevel=3;    
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');    
</script>   
<form><input type="text" id='lbMacAddr' name='lbMacAddr' /></form>

 

只适用于IE浏览器,而且会有告警提示,挺遗憾的。

本文来自:http://www.q1010.com/173/14963-0.html

注:关于php/js获取客户端mac地址的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:mac

您可能感兴趣的文章

  • c# 判断网络类(获取mac) InternetCheck的简单示例
  • PHP利用HMAC-SHA1签名的实现方法
  • Mac os 解决无法使用localhost连接MySQL问题
  • MAC 中mysql密码忘记解决示例
  • Mac下安装vue
  • mac安装mysql忘记密码的解决方法
  • Mac OS 设置 Python(和 NumPy)开发环境解析
  • python 获取本机IP、mac地址、计算机名的简单示例
  • JS 获取客户端IP地址、MAC地址、主机名的七种示例
  • php 获取网卡物理(MAC)地址的实现方法
上一篇:PHP利用实测class的function中include的文件中非php的global全局环境的简单示例
下一篇:PHP利用将多维数组转换为支持curl提交的一维数组格式的简单示例
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。