好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php取得mac地址 php获取mac地址

很多站长朋友们都不太清楚php取得mac地址,今天小编就来给大家整理php取得mac地址,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例 2、 php 获取客户端的MAC地址 3、 如何用PHP获取客户端的MAC地址 4、 php如何获取客户端唯一标识符IP?mac地址? 5、 php如何获取到客户端mac的地址? php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例

本文所述php实例可以完成获取局域网所有用户的电脑IP和主机名、及mac地址的功能,对于php程序设计人员有一定的参考借鉴价值。完整代码如下:

<?php

$bIp

=

gethostbyname($_ENV['COMPUTERNAME']);

//获取本机的局域网IP

echo

"本机IP:",$bIp,"\n";

echo

"本机主机名:",gethostbyaddr($bIp),"\n\n\n";

//gethostbyaddr

函数可以根据局域网IP获取主机名

//默认网关IP

list($ipd1,$ipd2,$ipd3)

=

explode('.',$bIp);

$mask

=

$ipd1

.

"."

.

$ipd2

.

"."

.

$ipd3

;

exec('arp

-a',$aIp);

//获取局域网中的其他IP

foreach(

$aIp

as

$ipv)

{

if(strpos($ipv,'接口')

!==

false)

{//一下显示的IP是否是当前局域网中的

而不是其他的类型

可以在cmd下试一下命令

$bool

=

false;

preg_match('/(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/',$ipv,$arr);

if(strcmp($arr[0],$bIp)

==

0)

{

$bool

=

true;

}

}

else

{

if($bool)

{

$str

=

preg_replace('/\s+/',

'|',

$ipv);

$sArr

=

explode('|',$str);

if($sArr[1]

==

'Internet'

||

empty($sArr[1]))

{

continue;

}

//去除默认网关

if(strcmp($mask

.

".1",

$sArr[1])

==

0)

{

continue;

}

//去除同网关下255的IP

if(strcmp($mask

.

".255",

$sArr[1])

==

0)

{

continue;

}

//去除组播IP

list($cIp)

=

explode('.',

$sArr[1]);

if($cIp

>=

224

$cIp

<=

239)

{

continue;

}

echo

"IP地址:|",$sArr[1],"|\n";

echo

"MAC地址:",$sArr[2],"\n";

echo

"主机名:",gethostbyaddr($sArr[1]),"\n";

echo

"\n\n";

}

}

}

该程序是在cli模式下运行的,在浏览器上应该也可以

php获取局域网中的用户ip功能就完成了,主要用到的是php的exec函数

和window的arp

-a

命令

其中获取本机IP:gethostbyname($_ENV['COMPUTERNAME'])

有别于以往的写法,感兴趣的朋友可以继续深入研究一下。

获取主机名函数:gethostbyaddr(IPd)

这个函数功能也很强大。

php 获取客户端的MAC地址

<HTML><HEAD><TITLE>WMI Scripting HTML</TITLE>

<META http-equiv=Content-Type content="text/html; charset=gb2312">

<SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo>

document.forms[0].txtMACAddr.value=unescape(MACAddr);

document.forms[0].txtIPAddr.value=unescape(IPAddr);

document.forms[0].txtDNSName.value=unescape(sDNSName);

</SCRIPT>

<SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>

if(objObject.IPEnabled != null objObject.IPEnabled != "undefined" objObject.IPEnabled == true)

{

if(objObject.MACAddress != null objObject.MACAddress != "undefined")

MACAddr = objObject.MACAddress;

if(objObject.IPEnabled objObject.IPAddress(0) != null objObject.IPAddress(0) != "undefined")

IPAddr = objObject.IPAddress(0);

if(objObject.DNSHostName != null objObject.DNSHostName != "undefined")

sDNSName = objObject.DNSHostName;

}

</SCRIPT>

<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>

<BODY>

<OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></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 id="formfoo" name="formbar" action="#" method="post"><INPUT value="" name="txtMACAddr"> <INPUT value="" name="txtIPAddr">

<INPUT value="zhupan" name="txtDNSName">

<input type="submit" value="send"></FORM></BODY></HTML>

表单中发出的就是客户端mac地址

如何用PHP获取客户端的MAC地址

可以参考下面代码:

<?PHP

@exec("arp -a",$array); //执行arp -a命令,结果放到数组$array中

        foreach($array as $value){

            //匹配结果放到数组$mac_array

            if(strpos($value,$_SERVER["REMOTE_ADDR"])  preg_match("/(:?[0-9A-F]{2}[:-]){5}[0-9A-F]{2}/i",$value,$mac_array)){

                $mac = $mac_array[0];

                break;

            }

        }

        echo $mac;

?>

php如何获取客户端唯一标识符IP?mac地址?

<?php       

    class GetMacAddr{

            var $return_array = array(); // 返回带有MAC地址的字串数组

            var $mac_addr;

            function GetMacAddr($os_type){

                    switch(strtolower($os_type)){   

                            case "linux":$this->forLinux();break;

                            default:$this->forWindows();break;

                    }   

                    $temp_array = array();   

                    foreach ( $this->return_array 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->mac_addr = $temp_array[0];   

                                    break;   

                            }   

                    }   

                    unset($temp_array);   

                    return $this->mac_addr;   

            }  

            function forWindows()   {   

                    @exec("ipconfig /all", $this->return_array);   

                    if ( $this->return_array )   

                            return $this->return_array;   

                    else{   

                            $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";   

                            if ( is_file($ipconfig) )   

                                    @exec($ipconfig." /all", $this->return_array);   

                            else  

                                    @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array);   

                            return $this->return_array;   

                    }   

            }   

      }   

   //---实例化类

    $mac = new GetMacAddr(PHP_OS);   

    echo $mac->mac_addr;   

    echo "<br />";   

    echo md5($mac->mac_addr);        

    ?> 

以上代码是获取mac地址的代码,在网上抄的,但实测有效,括号,我x,我第一次知道原来php也可以执行命令行。。。

 

至于如何限制,应该是去截取mac的一部分经行if判断就可以了,你先尝试一下

php如何获取到客户端mac的地址?

MAC地址是不可以的,浏览器就拦击了,那个只是局域网内使用的。也就是许多通过路由器的广域网用户,根本就不把MAC地址传给WEB服务器,PHP程序是不可能获得的。

你要限制用户,只有使用证书,登录账户等方法实现。

关于php取得mac地址的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php取得mac地址 php获取mac地址的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did207677
更新时间:2023-05-03   阅读:30次

上一篇: 辛星php开发 辛星数码电子有限公司

下一篇:宝塔php运行权限 宝塔phpini在哪

相关资讯

最新资料更新

  • 1.php绘制健康码 php源码怎么搭建网站
  • 2.php订单管理功能 php订单提醒功能
  • 3.php获取post值 php如何获取url参数
  • 4.php数字语音播报 php语音转文字
  • 5.php客户信息管理 php用户管理
  • 6.php添加字体水印 php设置字体
  • 7.关于php+imei的信息
  • 8.php条形码生成 条形码生成器工具
  • 9.php拼音模糊查询 php模糊搜索功能
  • 10.php项目任务分配 php任务调度框架
  • 11.什么是php行为 什么是php,php有哪些优点
  • 12.php短信被刷 php防止短信被刷
  • 13.zendphp调试 调试教程
  • 14.php教务系统网页设计 php教务系统网页设计方案
  • 15.php生成uuid php生成随机6位数
  • 16.射洪php招聘 射洪平台公司招聘
  • 17.php开发宝典 php7开发宝典pdf下载
  • 18.php+引用swf php引用其他文件内的函数
  • 19.php网页滚动代码 php 如何做滑动加载
  • 20.php消息通知实例的简单介绍

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]