http.auth.lib.php
来自「it is a website for online education des」· PHP 代码 · 共 237 行
PHP
237 行
<?php/* $Id: http.auth.lib.php,v 1.2 2001/12/13 03:19:20 lem9 Exp $ */// +--------------------------------------------------------------------------+// | Set of functions used to run http authentication. |// | NOTE: Requires PHP loaded as a Apache module. |// +--------------------------------------------------------------------------+if (!defined('PMA_HTTP_AUTH_INCLUDED')) { define('PMA_HTTP_AUTH_INCLUDED', 1); /** * Displays authentication form * * @global string the font face to use in case of failure * @global string the default font size to use in case of failure * @global string the big font size to use in case of failure * * @return boolean always true (no return indeed) * * @access public */ function PMA_auth() { global $right_font_family, $font_size, $font_bigger; header('WWW-Authenticate: Basic realm="phpMyAdmin ' . sprintf($GLOBALS['strRunning'], (empty($GLOBALS['cfgServer']['verbose']) ? str_replace('\'', '\\\'',$GLOBALS['cfgServer']['host']) : str_replace('\'', '\\\'', $GLOBALS['cfgServer']['verbose']))) . '"'); header('HTTP/1.0 401 Unauthorized'); header('status: 401 Unauthorized'); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $GLOBALS['available_languages'][$GLOBALS['lang']][2]; ?>" lang="<?php echo $GLOBALS['available_languages'][$GLOBALS['lang']][2]; ?>" dir="<?php echo $GLOBALS['text_dir']; ?>"><head><title><?php echo $GLOBALS['strAccessDenied']; ?></title><style type="text/css"><!--body {font-family: <?php echo $right_font_family; ?>; font-size: <?php echo $font_size; ?>; color: #000000}h1 {font-family: <?php echo $right_font_family; ?>; font-size: <?php echo $font_bigger; ?>; font-weight: bold}//--></style></head><body bgcolor="<?php echo $GLOBALS['cfgRightBgColor']; ?>"><br /><br /><center> <h1><?php echo sprintf($GLOBALS['strWelcome'], ' phpMyAdmin ' . PMA_VERSION); ?></h1></center><br /><p><?php echo $GLOBALS['strWrongUser']; ?></p></body></html> <?php echo "\n"; exit(); return TRUE; } // end of the 'PMA_auth()' function /** * Gets advanced authentication settings * * @global string the username if register_globals is on * @global string the password if register_globals is on * @global array the array of server variables if register_globals is * off * @global array the array of environment variables if register_globals * is off * @global string the username for the ? server * @global string the password for the ? server * @global string the username for the WebSite Professional server * @global string the password for the WebSite Professional server * @global string the username of the user who logs out * * @return boolean whether we get authentication settings or not * * @access public */ function PMA_auth_check() { global $PHP_AUTH_USER, $PHP_AUTH_PW; global $HTTP_SERVER_VARS, $HTTP_ENV_VARS; global $REMOTE_USER, $AUTH_USER, $REMOTE_PASSWORD, $AUTH_PASSWORD; global $old_usr; // Grabs the $PHP_AUTH_USER variable whatever are the values of the // 'register_globals' and the 'variables_order' directives // loic1 - 2001/25/11: use the new globals arrays defined with php 4.1+ if (empty($PHP_AUTH_USER)) { if (!empty($_SERVER) && isset($_SERVER['PHP_AUTH_USER'])) { $PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER']; } else if (!empty($HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['PHP_AUTH_USER'])) { $PHP_AUTH_USER = $HTTP_SERVER_VARS['PHP_AUTH_USER']; } else if (isset($REMOTE_USER)) { $PHP_AUTH_USER = $REMOTE_USER; } else if (!empty($_ENV) && isset($_ENV['REMOTE_USER'])) { $PHP_AUTH_USER = $_ENV['REMOTE_USER']; } else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['REMOTE_USER'])) { $PHP_AUTH_USER = $HTTP_ENV_VARS['REMOTE_USER']; } else if (@getenv('REMOTE_USER')) { $PHP_AUTH_USER = getenv('REMOTE_USER'); } // Fix from Matthias Fichtner for WebSite Professional - Part 1 else if (isset($AUTH_USER)) { $PHP_AUTH_USER = $AUTH_USER; } else if (!empty($_ENV) && isset($_ENV['AUTH_USER'])) { $PHP_AUTH_USER = $_ENV['AUTH_USER']; } else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['AUTH_USER'])) { $PHP_AUTH_USER = $HTTP_ENV_VARS['AUTH_USER']; } else if (@getenv('AUTH_USER')) { $PHP_AUTH_USER = getenv('AUTH_USER'); } } // Grabs the $PHP_AUTH_PW variable whatever are the values of the // 'register_globals' and the 'variables_order' directives // loic1 - 2001/25/11: use the new globals arrays defined with php 4.1+ if (empty($PHP_AUTH_PW)) { if (!empty($_SERVER) && isset($_SERVER['PHP_AUTH_PW'])) { $PHP_AUTH_PW = $_SERVER['PHP_AUTH_PW']; } else if (!empty($HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['PHP_AUTH_PW'])) { $PHP_AUTH_PW = $HTTP_SERVER_VARS['PHP_AUTH_PW']; } else if (isset($REMOTE_PASSWORD)) { $PHP_AUTH_PW = $REMOTE_PASSWORD; } else if (!empty($_ENV) && isset($_ENV['REMOTE_PASSWORD'])) { $PHP_AUTH_PW = $_ENV['REMOTE_PASSWORD']; } else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['REMOTE_PASSWORD'])) { $PHP_AUTH_PW = $HTTP_ENV_VARS['REMOTE_PASSWORD']; } else if (@getenv('REMOTE_PASSWORD')) { $PHP_AUTH_PW = getenv('REMOTE_PASSWORD'); } // Fix from Matthias Fichtner for WebSite Professional - Part 2 else if (isset($AUTH_PASSWORD)) { $PHP_AUTH_PW = $AUTH_PASSWORD; } else if (!empty($_ENV) && isset($_ENV['AUTH_PASSWORD'])) { $PHP_AUTH_PW = $_ENV['AUTH_PASSWORD']; } else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['AUTH_PASSWORD'])) { $PHP_AUTH_PW = $HTTP_ENV_VARS['AUTH_PASSWORD']; } else if (@getenv('AUTH_PASSWORD')) { $PHP_AUTH_PW = getenv('AUTH_PASSWORD'); } } // User logged out -> ensure the new username is not the same if (!empty($old_usr) && (isset($PHP_AUTH_USER) && $old_usr == $PHP_AUTH_USER)) { $PHP_AUTH_USER = ''; } // Returns whether we get authentication settings or not if (empty($PHP_AUTH_USER)) { return FALSE; } else { if (get_magic_quotes_gpc()) { $PHP_AUTH_USER = stripslashes($PHP_AUTH_USER); $PHP_AUTH_PW = stripslashes($PHP_AUTH_PW); } return TRUE; } } // end of the 'PMA_auth_check()' function /** * Set the user and password after last checkings if required * * @global array the valid servers settings * @global integer the id of the current server * @global array the current server settings * @global string the current username * @global string the current password * * @return boolean always true * * @access public */ function PMA_auth_set_user() { global $cfgServers, $server, $cfgServer; global $PHP_AUTH_USER, $PHP_AUTH_PW; // Ensures the valid 'only_db' setting is used if ($cfgServer['user'] != $PHP_AUTH_USER) { $servers_cnt = count($cfgServers); for ($i = 1; $i <= $servers_cnt; $i++) { if (isset($cfgServers[$i]) && ($cfgServers[$i]['host'] == $cfgServer['host'] && $cfgServers[$i]['user'] == $PHP_AUTH_USER)) { $server = $i; $cfgServer = $cfgServers[$i]; break; } } // end for } // end if $cfgServer['user'] = $PHP_AUTH_USER; $cfgServer['password'] = $PHP_AUTH_PW; return TRUE; } // end of the 'PMA_auth_set_user()' function /** * User is not allowed to login to MySQL -> authentication failed * * @return boolean always true (no return indeed) * * @access public */ function PMA_auth_fails() { PMA_auth(); return TRUE; } // end of the 'PMA_auth()' function} // $__PMA_HTTP_AUTH_LIB__?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?