Skip to content

Instantly share code, notes, and snippets.

@m13253
Forked from xfoxfu/anti-xp-2.php
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save m13253/9249057 to your computer and use it in GitHub Desktop.
Save m13253/9249057 to your computer and use it in GitHub Desktop.
<?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