Last active
October 1, 2015 01:11
-
-
Save xfoxfu/9248858 to your computer and use it in GitHub Desktop.
Anti XP PHP Script ( Without Need of `browscap.ini` )
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Anti-XP Script | |
* | |
* @author 小傅Fox[<xfox@cotr.me>] | |
*/ | |
/** | |
* 获得客户端的操作系统 | |
* Source:{@link http://lok.me/a/1027.html} | |
* | |
* @access private | |
* @return | |
* | |
* | |
* | |
*/ | |
function get_os() | |
{ | |
if( empty( $_SERVER[ 'HTTP_USER_AGENT' ] ) ){ | |
return 'Unknown'; | |
} | |
$agent = strtolower( $_SERVER[ 'HTTP_USER_AGENT' ] ); | |
$os = ''; | |
if( strpos( $agent , 'win' ) !== false ){ | |
if( strpos( $agent , 'nt 5.1' ) !== false ){ | |
$os = 'Windows XP'; | |
} elseif( strpos( $agent , 'nt 5.2' ) !== false ){ | |
$os = 'Windows 2003'; | |
} elseif( strpos( $agent , 'nt 5.0' ) !== false ){ | |
$os = 'Windows 2000'; | |
} elseif( strpos( $agent , 'nt 6.0' ) !== false ){ | |
$os = 'Windows Vista'; | |
} elseif( strpos( $agent , 'nt 6.1' ) !== false ){ | |
$os = 'Windows 7'; | |
} elseif( strpos( $agent , 'nt 6.2' ) !== false ){ | |
$os = 'Windows 8'; | |
} elseif( strpos( $agent , 'nt' ) !== false ){ | |
$os = 'Windows NT'; | |
} elseif( strpos( $agent , 'win 9x' ) !== false && strpos( $agent , '4.90' ) !== false ){ | |
$os = 'Windows ME'; | |
} elseif( strpos( $agent , '98' ) !== false ){ | |
$os = 'Windows 98'; | |
} elseif( strpos( $agent , '95' ) !== false ){ | |
$os = 'Windows 95'; | |
} elseif( strpos( $agent , '32' ) !== false ){ | |
$os = 'Windows 32'; | |
} elseif( strpos( $agent , 'ce' ) !== false ){ | |
$os = 'Windows CE'; | |
} | |
} elseif( strpos( $agent , 'linux' ) !== false ){ | |
$os = 'Linux'; | |
} elseif( strpos( $agent , 'unix' ) !== false ){ | |
$os = 'Unix'; | |
} elseif( strpos( $agent , 'sun' ) !== false && strpos( $agent , 'os' ) !== false ){ | |
$os = 'SunOS'; | |
} elseif( strpos( $agent , 'ibm' ) !== false && strpos( $agent , 'os' ) !== false ){ | |
$os = 'IBM OS/2'; | |
} elseif( strpos( $agent , 'mac' ) !== false && strpos( $agent , 'pc' ) !== false ){ | |
$os = 'Macintosh'; | |
} elseif( strpos( $agent , 'powerpc' ) !== false ){ | |
$os = 'PowerPC'; | |
} elseif( strpos( $agent , 'aix' ) !== false ){ | |
$os = 'AIX'; | |
} elseif( strpos( $agent , 'hpux' ) !== false ){ | |
$os = 'HPUX'; | |
} elseif( strpos( $agent , 'netbsd' ) !== false ){ | |
$os = 'NetBSD'; | |
} elseif( strpos( $agent , 'bsd' ) !== false ){ | |
$os = 'BSD'; | |
} elseif( strpos( $agent , 'osf1' ) !== false ){ | |
$os = 'OSF1'; | |
} elseif( strpos( $agent , 'irix' ) !== false ){ | |
$os = 'IRIX'; | |
} elseif( strpos( $agent , 'freebsd' ) !== false ){ | |
$os = 'FreeBSD'; | |
} elseif( strpos( $agent , 'teleport' ) !== false ){ | |
$os = 'teleport'; | |
} elseif( strpos( $agent , 'flashget' ) !== false ){ | |
$os = 'flashget'; | |
} elseif( strpos( $agent , 'webzip' ) !== false ){ | |
$os = 'webzip'; | |
} elseif( strpos( $agent , 'offline' ) !== false ){ | |
$os = 'offline'; | |
} else{ | |
$os = 'Unknown'; | |
} | |
return $os; | |
} | |
if( get_os() == 'Windows XP' ){ | |
if( $_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ] == 'zh-CN' ){ | |
die( '你仍然在使用落后的Windows XP操作系统,在你升级操作系统前将不能打开此页面。识别的OS为:' . get_os() ); | |
} elseif( $_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ] == 'zh-TW' ){ | |
die( '你仍然在使用落後的Windows XP作業系統,在你升級作業系統前將不能開啟此頁面。識別的OS為:' . get_os() ); | |
} elseif( $_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ] == 'zh-HK' ){ | |
die( '你仍然在使用落後的Windows XP作業系統,在你升級作業系統前將不能開啟此頁面。識別的OS爲:' . get_os() ); | |
} elseif( $_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ] == 'en-US' || $_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ] == 'en' ){ | |
die( 'You are STILL using Windows XP! We no longer offer services to you unless you upgrade your OS! Your OS is recognized as ' . get_os() ); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
英语句子之间最好再加一个空格。
You are STILL using Windows XP! We no longer offer services to you unless you upgrade your OS! Your OS is recognized as xxx