我在网上找到的可以在本地获取mac 但是传到服务器动不能获取到<?php /** 获取机器网卡的物理(MAC)地址 wwa $Exp **/ class GetMacAddr { var $return_array = array(); // 返回带有MAC地址的字串数组 var $mac_addr;
function GetMacAddr($os_type) { switch ( strtolower($os_type) ) { case "linux": $this->forLinux(); break; case "solaris": break; case "unix": break; case "aix": break; default: $this->forWindows(); break; }
如果一定要使用web方式的话,需要通过网页给用户装个activeX控件。可以用activeX控件获取网卡MAC地址,这个是全球唯一的值。只要用户不换网卡,当用户在你那里注册时,通过activeX控件获取用户网卡MAC地址存入数据库。以后每次登陆你的网站时activeX控件再把MAC地址读出来,与数据库里面存的MAC地址比对。
但是传到服务器动不能获取到<?php
/**
获取机器网卡的物理(MAC)地址
wwa $Exp
**/
class GetMacAddr
{
var $return_array = array(); // 返回带有MAC地址的字串数组
var $mac_addr;
function GetMacAddr($os_type)
{
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->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;
}
} function forLinux()
{
@exec("ifconfig -a", $this->return_array);
return $this->return_array;
}
}
?>
<?
$mac = new GetMacAddr(PHP_OS);
echo $mac->mac_addr;
?>
一个mac地址对应一个账号 应该是可以的吧
这个也不行我的电脑根本不让执行activeX
一定要有其它软件配合
你这个系统还要用在广域网上吗?不然的话你这个功能不是没用了吗?
如果是办公用的话,把IP固定了不是很容易实现吗。
如果你能让客户运行那样的一个本地程序,你可以做一个自己的算法,比如对bios信息叠加,等等,参考一下硬件方面的东西,应该可以唯一确定一台电脑(mac地址不可靠,但一般也比较可靠,谁没事天天改mac),然后让这个程序把信息发送到服务器。
js和php都无法获取客户端的mac地址,因为这是不允许的.
除非你开发一个控件,让用户在第一次使用的时候安装,然后用js调用控件获取mac地址.
mac地址很容易改的,不太可靠
不过要获取这些信息,用php貌似非常困难,因为php是在服务器端执行的,挺多获取到服务器的变量,要获取浏览器客户端的信息就比较困难了。 JavaScript的功能貌似也实现不了。 期待JavaScript下一个版本有这个牛逼的功能吧。