PHP查询访问者的操作系统

CracerCracer 2016-3-23 代码审计 498 0 1

PHP通过 $_SERVER['HTTP_USER_AGENT'] 函数获取访问者的 电脑操作系统

<?php
function getOS(){
$os='';
$Agent=$_SERVER['HTTP_USER_AGENT'];
if (eregi('win',$Agent)&&eregi('nt 6.1',$Agent)){
$os='Win7';
}elseif(eregi('win',$Agent)&&eregi('nt 6.2',$Agent)){
$os='Win8';
}elseif(eregi('win',$Agent)&&eregi('nt 6.3',$Agent)){
$os='Win8.1';
}elseif(eregi('win',$Agent)&&eregi('nt 10.0',$Agent)){
$os='Win10';
}elseif(eregi('win',$Agent)&&eregi('nt 5.1',$Agent)){
$os='WinXP';
}elseif(eregi('linux',$Agent)){
$os='Linux';
}elseif(eregi('unix',$Agent)){
$os='Unix';
}else if(eregi('sun',$Agent)&&eregi('os',$Agent)){
$os='SunOS';
}elseif(eregi('ibm',$Agent)&&eregi('os',$Agent)){
$os='IBM OS/2';
}elseif(eregi('Mac',$Agent)&&eregi('PC',$Agent)){
$os='Macintosh';
}elseif(eregi('PowerPC',$Agent)){
$os='PowerPC';
}elseif(eregi('AIX',$Agent)){
$os='AIX';
}elseif(eregi('HPUX',$Agent)){
$os='HPUX';
}elseif(eregi('NetBSD',$Agent)){
$os='NetBSD';
}elseif(eregi('BSD',$Agent)){
$os='BSD';
}elseif(ereg('OSF1',$Agent)){
$os='OSF1';
}elseif(ereg('IRIX',$Agent)){
$os='IRIX';
}elseif(eregi('FreeBSD',$Agent)){
$os='FreeBSD';
}elseif($os==''){
$os='Other';
}
return $os;
}

?>

win7的 nt 版本是 6.1 win8的 nt 版本是 6.2 win8.1的 nt 版本是 6.3 win10的 nt 版本是 10.0 winxp 的 nt版本是 5.1

暂时列出这么多,主流的操作系统也就这些,至于XP以下的就自行查找 nt 版本号,然后加判断 , 因为我用的win10预览版,所以我找到的win10的 nt版本是 10.0

查看方式 win+r 输入cmd 回车 就可以查看到版本号

qqq

在需要显示操作系统的地方输入

<?php echo getOS();?>

转载请注明来自Cracer,本文标题:《PHP查询访问者的操作系统》

喜欢 (1) 发布评论
发表评论


Top