php如何获取客户端唯一标识符IP?mac地址? 200
项目中,注册页面,用户不停获取验证码,想实现获取5次,就根据来源ip封住24小时,//实现你获取验证码次数过多,24小时再重试,php获取的ip,根据封不住的,用户把网断...
项目中,注册页面,用户不停获取验证码,想实现获取5次,就根据来源ip封住24小时,
//实现你获取验证码次数过多,24小时再重试,php获取的ip,根据封不住的,用户把网断开,重新拨号,ip就变了,又可以注册了,想到获取用户mac地址来判断,但是发现php无法获取客户端mac地址,
怎么实现封ip,用户重新换ip或者用代理也不行的? wei博和白du 可以封住的,他们根据就不是获取ip来判断的吧!求解决 展开
//实现你获取验证码次数过多,24小时再重试,php获取的ip,根据封不住的,用户把网断开,重新拨号,ip就变了,又可以注册了,想到获取用户mac地址来判断,但是发现php无法获取客户端mac地址,
怎么实现封ip,用户重新换ip或者用代理也不行的? wei博和白du 可以封住的,他们根据就不是获取ip来判断的吧!求解决 展开
1个回答
展开全部
<?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判断就可以了,你先尝试一下
追问
这代码网上转的吧,这个只能获取自己服务器的mac地址
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询