00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00022 function PMA_auth()
00023 {
00024 global $right_font_family, $font_size, $font_bigger;
00025
00026 header('WWW-Authenticate: Basic realm="phpMyAdmin ' . sprintf($GLOBALS['strRunning'], (empty($GLOBALS['cfg']['Server']['verbose']) ? str_replace('\'', '\\\'',$GLOBALS['cfg']['Server']['host']) : str_replace('\'', '\\\'', $GLOBALS['cfg']['Server']['verbose']))) . '"');
00027 header('HTTP/1.0 401 Unauthorized');
00028 header('status: 401 Unauthorized');
00029
00030
00031 header('Content-Type: text/html; charset=' . $GLOBALS['charset']);
00032 ?>
00033 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
00034 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
00035 <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']; ?>">
00036
00037 <head>
00038 <title><?php echo $GLOBALS['strAccessDenied']; ?></title>
00039 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $GLOBALS['charset']; ?>" />
00040 <style type="text/css">
00041 <!--
00042 body {font-family: <?php echo $right_font_family; ?>; font-size: <?php echo $font_size; ?>; color: #000000}
00043 h1 {font-family: <?php echo $right_font_family; ?>; font-size: <?php echo $font_bigger; ?>; font-weight: bold}
00044
00045 </style>
00046 <script language="JavaScript" type="text/javascript">
00047 <!--
00048
00049
00050
00051
00052 var isDOM = (typeof(document.getElementsByTagName) != 'undefined'
00053 && typeof(document.createElement) != 'undefined')
00054 ? 1 : 0;
00055 var isIE4 = (typeof(document.all) != 'undefined'
00056 && parseInt(navigator.appVersion) >= 4)
00057 ? 1 : 0;
00058 var isNS4 = (typeof(document.layers) != 'undefined')
00059 ? 1 : 0;
00060 var capable = (isDOM || isIE4 || isNS4)
00061 ? 1 : 0;
00062
00063 if (capable) {
00064 if (typeof(window.opera) != 'undefined') {
00065 var browserName = ' ' + navigator.userAgent.toLowerCase();
00066 if ((browserName.indexOf('konqueror 7') == 0)) {
00067 capable = 0;
00068 }
00069 } else if (typeof(navigator.userAgent) != 'undefined') {
00070 var browserName = ' ' + navigator.userAgent.toLowerCase();
00071 if ((browserName.indexOf('konqueror') > 0) && (browserName.indexOf('konqueror/3') == 0)) {
00072 capable = 0;
00073 }
00074 }
00075 }
00076 document.writeln('<link rel="stylesheet" type="text/css" href="<?php echo defined('PMA_PATH_TO_BASEDIR') ? PMA_PATH_TO_BASEDIR : './'; ?>css/phpmyadmin.css.php?lang=<?php echo $GLOBALS['available_languages'][$GLOBALS['lang']][2]; ?>&js_frame=right&js_isDOM=' + isDOM + '" />');
00077
00078 </script>
00079 <noscript>
00080 <link rel="stylesheet" type="text/css" href="<?php echo defined('PMA_PATH_TO_BASEDIR') ? PMA_PATH_TO_BASEDIR : './'; ?>css/phpmyadmin.css.php?lang=<?php echo $GLOBALS['available_languages'][$GLOBALS['lang']][2]; ?>&js_frame=right" />
00081 </noscript>
00082 </head>
00083
00084 <body bgcolor="<?php echo $GLOBALS['cfg']['RightBgColor']; ?>">
00085
00086 <?php include('./config.header.inc.php'); ?>
00087
00088 <br /><br />
00089 <center>
00090 <h1><?php echo sprintf($GLOBALS['strWelcome'], ' phpMyAdmin ' . PMA_VERSION); ?></h1>
00091 </center>
00092 <br />
00093 <div class="warning"><p><?php echo $GLOBALS['strWrongUser']; ?></p></div>
00094
00095 <?php include('./config.footer.inc.php'); ?>
00096
00097 </body>
00098
00099 </html>
00100 <?php
00101 echo "\n";
00102 exit();
00103
00104 return TRUE;
00105 }
00106
00107
00127 function PMA_auth_check()
00128 {
00129 global $PHP_AUTH_USER, $PHP_AUTH_PW;
00130 global $REMOTE_USER, $AUTH_USER, $REMOTE_PASSWORD, $AUTH_PASSWORD;
00131 global $HTTP_AUTHORIZATION;
00132 global $old_usr;
00133
00134
00135
00136
00137 if (empty($PHP_AUTH_USER)) {
00138 if (!empty($_SERVER) && isset($_SERVER['PHP_AUTH_USER'])) {
00139 $PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER'];
00140 }
00141 else if (isset($REMOTE_USER)) {
00142 $PHP_AUTH_USER = $REMOTE_USER;
00143 }
00144 else if (!empty($_ENV) && isset($_ENV['REMOTE_USER'])) {
00145 $PHP_AUTH_USER = $_ENV['REMOTE_USER'];
00146 }
00147 else if (@getenv('REMOTE_USER')) {
00148 $PHP_AUTH_USER = getenv('REMOTE_USER');
00149 }
00150
00151 else if (isset($AUTH_USER)) {
00152 $PHP_AUTH_USER = $AUTH_USER;
00153 }
00154 else if (!empty($_ENV) && isset($_ENV['AUTH_USER'])) {
00155 $PHP_AUTH_USER = $_ENV['AUTH_USER'];
00156 }
00157 else if (@getenv('AUTH_USER')) {
00158 $PHP_AUTH_USER = getenv('AUTH_USER');
00159 }
00160 }
00161
00162
00163
00164 if (empty($PHP_AUTH_PW)) {
00165 if (!empty($_SERVER) && isset($_SERVER['PHP_AUTH_PW'])) {
00166 $PHP_AUTH_PW = $_SERVER['PHP_AUTH_PW'];
00167 }
00168 else if (isset($REMOTE_PASSWORD)) {
00169 $PHP_AUTH_PW = $REMOTE_PASSWORD;
00170 }
00171 else if (!empty($_ENV) && isset($_ENV['REMOTE_PASSWORD'])) {
00172 $PHP_AUTH_PW = $_ENV['REMOTE_PASSWORD'];
00173 }
00174 else if (@getenv('REMOTE_PASSWORD')) {
00175 $PHP_AUTH_PW = getenv('REMOTE_PASSWORD');
00176 }
00177
00178 else if (isset($AUTH_PASSWORD)) {
00179 $PHP_AUTH_PW = $AUTH_PASSWORD;
00180 }
00181 else if (!empty($_ENV) && isset($_ENV['AUTH_PASSWORD'])) {
00182 $PHP_AUTH_PW = $_ENV['AUTH_PASSWORD'];
00183 }
00184 else if (@getenv('AUTH_PASSWORD')) {
00185 $PHP_AUTH_PW = getenv('AUTH_PASSWORD');
00186 }
00187 }
00188
00189 if (empty($PHP_AUTH_USER) && empty($PHP_AUTH_PW)
00190 && function_exists('base64_decode')) {
00191 if (!empty($HTTP_AUTHORIZATION)
00192 && substr($HTTP_AUTHORIZATION, 0, 6) == 'Basic ') {
00193 list($PHP_AUTH_USER, $PHP_AUTH_PW) = explode(':', base64_decode(substr($HTTP_AUTHORIZATION, 6)));
00194 }
00195 else if (!empty($_ENV)
00196 && isset($_ENV['HTTP_AUTHORIZATION'])
00197 && substr($_ENV['HTTP_AUTHORIZATION'], 0, 6) == 'Basic ') {
00198 list($PHP_AUTH_USER, $PHP_AUTH_PW) = explode(':', base64_decode(substr($_ENV['HTTP_AUTHORIZATION'], 6)));
00199 }
00200 else if (@getenv('HTTP_AUTHORIZATION')
00201 && substr(getenv('HTTP_AUTHORIZATION'), 0, 6) == 'Basic ') {
00202 list($PHP_AUTH_USER, $PHP_AUTH_PW) = explode(':', base64_decode(substr(getenv('HTTP_AUTHORIZATION'), 6)));
00203 }
00204 }
00205
00206
00207 if (!empty($old_usr)
00208 && (isset($PHP_AUTH_USER) && $old_usr == $PHP_AUTH_USER)) {
00209 $PHP_AUTH_USER = '';
00210 }
00211
00212
00213 if (empty($PHP_AUTH_USER)) {
00214 return FALSE;
00215 } else {
00216 if (get_magic_quotes_gpc()) {
00217 $PHP_AUTH_USER = stripslashes($PHP_AUTH_USER);
00218 $PHP_AUTH_PW = stripslashes($PHP_AUTH_PW);
00219 }
00220 return TRUE;
00221 }
00222 }
00223
00224
00238 function PMA_auth_set_user()
00239 {
00240 global $cfg, $server;
00241 global $PHP_AUTH_USER, $PHP_AUTH_PW;
00242
00243
00244
00245 if ($cfg['Server']['user'] != $PHP_AUTH_USER) {
00246 $servers_cnt = count($cfg['Servers']);
00247 for ($i = 1; $i <= $servers_cnt; $i++) {
00248 if (isset($cfg['Servers'][$i])
00249 && ($cfg['Servers'][$i]['host'] == $cfg['Server']['host'] && $cfg['Servers'][$i]['user'] == $PHP_AUTH_USER)) {
00250 $server = $i;
00251 $cfg['Server'] = $cfg['Servers'][$i];
00252 break;
00253 }
00254 }
00255 }
00256
00257 $cfg['Server']['user'] = $PHP_AUTH_USER;
00258 $cfg['Server']['password'] = $PHP_AUTH_PW;
00259
00260 return TRUE;
00261 }
00262
00263
00271 function PMA_auth_fails()
00272 {
00273 PMA_auth();
00274
00275 return TRUE;
00276 }
00277
00278 ?>