⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phpsniff.class.php

📁 一个用PHP编写的
💻 PHP
字号:
<?php/*******************************************************************************	$Id: phpSniff.class.php,v 1.21 2003/07/02 23:28:35 epsilon7 Exp $        phpSniff: HTTP_USER_AGENT Client Sniffer for PHP	Copyright (C) 2001 Roger Raymond ~ epsilon7@users.sourceforge.net	This library is free software; you can redistribute it and/or    modify it under the terms of the GNU Lesser General Public    License as published by the Free Software Foundation; either    version 2.1 of the License, or (at your option) any later version.    This library is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    Lesser General Public License for more details.    You should have received a copy of the GNU Lesser General Public    License along with this library; if not, write to the Free Software    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*******************************************************************************/require_once( PLOG_CLASS_PATH.'class/net/http/phpsniff/phpSniff.core.php');//===============================================================//  the following defines are used to create the short//  browser name used throughout the script.//  change these to suit your needs//===============================================================/** * \ingroup Net_HTTP * * The PHPSniff package provides support for detecting the browser capabilities at run-time. * */class phpSniff extends phpSniff_core{   var $_version = '2.1.3';	/**     *  Configuration     *     *  $_temp_file_path     *      default : /tmp/     *      desc    : directory writable by the server to store cookie check files.     *              : trailing slash is needed. only used if you use the check cookie routine     *     *  $_check_cookies     *      default : null     *      desc    : Allow for the script to redirect the browser in order     *              : to check for cookies.   In order for this to work, this     *              : class must be instantiated before any headers are sent.     *     *  $_default_language     *      default : en-us     *      desc    : language to report as if no languages are found     *     *  $_allow_masquerading     *      default : null     *      desc    : Allow for browser to Masquerade as another.     *              : (ie: Opera identifies as MSIE 5.0)     *     *  $_browsers     *      desc    : 2D Array of browsers we wish to search for     *              : in key => value pairs.     *              : key   = browser to search for [as in HTTP_USER_AGENT]     *              : value = value to return as 'browser' property     *     *  $_javascript_versions     *      desc    : 2D Array of javascript version supported by which browser     *              : in key => value pairs.     *              : key   = javascript version     *              : value = search parameter for browsers that support the     *              :         javascript version listed in the key (comma delimited)     *              :         note: the search parameters rely on the values     *              :               set in the $_browsers array     *	 *  $_browser_features     *      desc    : 2D Array of browser features supported by which browser     *              : in key => value pairs.     *              : key   = feature     *              : value = search parameter for browsers that support the     *              :         feature listed in the key (comma delimited)     *              :         note: the search parameters rely on the values     *              :               set in the $_browsers array	 *	 *  $_browser_quirks     *      desc    : 2D Array of browser quirks present in which browser     *              : in key => value pairs.     *              : key   = quirk     *              : value = search parameter for browsers that feature the     *              :         quirk listed in the key (comma delimited)     *              :         note: the search parameters rely on the values     *              :               set in the $_browsers array	 **/    var $_temp_file_path        = '/tmp/'; // with trailing slash    var $_check_cookies         = NULL;    var $_default_language      = 'en-us';    var $_allow_masquerading    = NULL;    var $_php_version           = '';        var $_browsers = array(        'microsoft internet explorer' => 'IE',        'msie'                        => 'IE',        'netscape6'                   => 'NS',        'netscape'                    => 'NS',        'galeon'                      => 'GA',        'phoenix'                     => 'PX',        'mozilla firebird'            => 'FB',        'firebird'                    => 'FB',        'chimera'                     => 'CH',        'camino'                      => 'CA',        'safari'                      => 'SF',        'k-meleon'                    => 'KM',        'mozilla'                     => 'MZ',        'opera'                       => 'OP',        'konqueror'                   => 'KQ',        'icab'                        => 'IC',        'lynx'                        => 'LX',		'links'                       => 'LI',					        'ncsa mosaic'                 => 'MO',        'amaya'                       => 'AM',        'omniweb'                     => 'OW',		'hotjava'					  => 'HJ',        'browsex'                     => 'BX',        'amigavoyager'                => 'AV',        'amiga-aweb'                  => 'AW',        'ibrowse'                     => 'IB'		);    var $_javascript_versions = array(        '1.5'   =>  'NS5+,MZ,PX,FB,GA,CH,CA,SF,KQ3+,KM', // browsers that support JavaScript 1.5        '1.4'   =>  '',        '1.3'   =>  'NS4.05+,OP5+,IE5+',        '1.2'   =>  'NS4+,IE4+',        '1.1'   =>  'NS3+,OP,KQ',        '1.0'   =>  'NS2+,IE3+',		'0'     =>	'LI,LX,HJ'	        );			var $_browser_features = array(		/**		 *	the following are true by default		 *	(see phpSniff.core.php $_feature_set array)		 *	browsers listed here will be set to false		 **/		'html'		=>	'',		'images'	=>	'LI,LX',		'frames' 	=>	'LI,LX',		'tables'	=>	'',		'java'		=>	'OP3,LI,LX,NS1,MO,IE1,IE2',		'plugins'	=>	'IE1,IE2,LI,LX',		/**  		 *	the following are false by default		 *	(see phpSniff.core.php $_feature_set array)		 *	browsers listed here will be set to true		 **/		'css2'		=>	'NS5+,IE5+,MZ,PX,FB,CH,CA,SF,GA,KQ3+,OP7+,KM',		'css1'		=>	'NS4+,IE4+,MZ,PX,FB,CH,CA,SF,GA,KQ,OP7+,KM',		'iframes'	=>	'IE3+,NS5+,MZ,PX,FB,CH,CA,SF,GA,KQ,OP7+,KM',		'xml'		=>	'IE5+,NS5+,MZ,PX,FB,CH,CA,SF,GA,KQ,OP7+,KM',		'dom'		=>	'IE5+,NS5+,MZ,PX,FB,CH,CA,SF,GA,KQ,OP7+,KM',		'hdml'		=>	'',		'wml'		=>	'',		'xmlhttpreq'=>  'IE5+,NS5+,MZ,SF'		);			var $_browser_quirks = array(		'must_cache_forms'			=>	'NS,MZ,FB,PX',		'avoid_popup_windows'		=>	'IE3,LI,LX',		'cache_ssl_downloads'		=>	'IE',		'break_disposition_header'	=>	'IE5.5',		'empty_file_input_value'	=>	'KQ',		'scrollbar_in_way'			=>	'IE6'		);    function phpSniff($UA='',$settings = true)    {   //  populate the HTTP_USER_AGENT string        //  20020425 :: rraymond        //      routine for easier configuration of the client at runtime        if(is_array($settings)) {            $run = true;            extract($settings);            $this->_check_cookies = $check_cookies;            $this->_default_language = $default_language;            $this->_allow_masquerading = $allow_masquerading;        } else {            // for backwards compatibility with 2.0.x series            $run = $settings;        }                // 20020425 :: besfred        if(empty($UA)) $UA = getenv('HTTP_USER_AGENT');        if(empty($UA)) {            global $HTTP_SERVER_VARS;            if( !isset( $_SERVER['HTTP_USER_AGENT'] )) $_SERVER['HTTP_USER_AGENT'] = '';            if( !isset( $HTTP_SERVER_VARS['HTTP_USER_AGENT'] )) $HTTP_SERVER_VARS['HTTP_USER_AGENT'] = '';            $UA = ( phpversion() >= "4.1.0"  ) ? $_SERVER['HTTP_USER_AGENT'] : $HTTP_SERVER_VARS['HTTP_USER_AGENT'];        }        // 20020910 :: rraymond        if(empty($UA)) return false;                $this->_set_browser('ua',$UA);        if($run) $this->init();    }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -