/* ================================================================================================ */ /**请求日志**/ function requestLog(){ $request_log = " -------------------------------------------".PHP_EOL." domain:".(empty($_SERVER['HTTP_HOST']) ? '':$_SERVER['HTTP_HOST']).(empty($_SERVER['REQUEST_URI']) ? '':$_SERVER['REQUEST_URI']).PHP_EOL." REMOTE_ADDR:".(empty($_SERVER['REMOTE_ADDR']) ? '':$_SERVER['REMOTE_ADDR']).PHP_EOL." TIME : ".date('Y-m-d H:i:s').PHP_EOL." PHP_PARAM:".json_encode($_POST).PHP_EOL; file_put_contents(__DIR__.'/log/request'.date('Ymd').'.log',$request_log,FILE_APPEND); } if(!(!empty($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] == '/favicon.ico')){ requestLog(); } /* ================================================================================================ * 解析页面请求参数为数组 $q */ function __index_init_query() { global $q; $q = array(); $m = 10; $ps = array_key_exists('ORIG_PATH_INFO', $_SERVER) ? substr($_SERVER['ORIG_PATH_INFO'], 1) : (array_key_exists('PATH_INFO', $_SERVER) ? substr($_SERVER['PATH_INFO'], 1) : ''); $ps_l = strlen($_SERVER['REQUEST_URI']); $url_l = strlen($_SERVER['QUERY_STRING']); @$ps = substr($_SERVER['REQUEST_URI'], 0, $url_l == 0 ? $ps_l : $ps_l - ($url_l + 1)); $ps = substr($ps, 1); //$ps = hmGet('q'); if ($ps != '') { if (preg_match('/^(.+)\.(html|htm|php)?$/i', $ps, $match)) $ps = $match[1]; if ($ps != '') { //$tq = explode('/', strtolower($ps)); $tq = explode('/', $ps); $tql = count($tq); for ($i = 0; $i < $tql && $i < $m; $i ++) $q[$i] = $tq[$i]; } } $q = array_pad($q, $m, ''); } __index_init_query(); /* print_r($q); exit(); */ /* ================================================================================================ * 统一访问域名,搜索引擎优化 */ function __index_unit_domain() { $u = SITE_DOMAIN; $h = explode('://', $u); if ($_SERVER['SERVER_NAME'] == $h[1]) return; if ($_SERVER['REQUEST_METHOD'] == 'POST') return; // 排除POST请求,避免数据提交不成功 if ($_SERVER['SERVER_PORT'] != 80) $u .= ':' . $_SERVER['SERVER_PORT']; if (SITE_REWRITE) { $sl = strlen($_SERVER['SCRIPT_NAME']); if (substr($_SERVER['REQUEST_URI'], 0, $sl) == $_SERVER['SCRIPT_NAME']) { // 网站开启重定向功能时,去掉文件名 $ps = substr($_SERVER['REQUEST_URI'], $sl + 1); $r = preg_replace("/^(.*\/)[^\/]+$/i", "$1", $_SERVER['SCRIPT_NAME']); $u .= $r . $ps; } else { $u .= $_SERVER['REQUEST_URI']; } } else { $u .= $_SERVER['REQUEST_URI']; } header('location:' . $u); } //if($q[0] != ADMIN_PARAMETER) __index_unit_domain(); if (is_file($_SERVER['DOCUMENT_ROOT'] . '/360webscan.php')) { require_once($_SERVER['DOCUMENT_ROOT'] . '/360webscan.php'); } // 注意文件路径 $location_array = array('Information' => 'info'); if (array_key_exists($q[0], $location_array)) { $id = explode("_", $q[3]); Header("HTTP/1.1 301 Moved Permanently"); Header("Location:" . SITE_QUERY . $location_array[$q[0]] . '/detail_' . ($id[1]) . SITE_POSTFIX); die(); } /* ================================================================================================ * 处理客户端提交的内容 */ if (get_magic_quotes_gpc()) { foreach ($_GET as $key => $value) $_GET[$key] = stripslashes($value); foreach ($_POST as $key => $value) { if (is_array($_POST[$key])) { foreach ($value as $sk => $sv) $_POST[$key][$sk] = stripslashes($sv); } else { $_POST[$key] = stripslashes($value); } } foreach ($_COOKIE as $key => $value) $_COOKIE[$key] = stripslashes($value); } /* ================================================================================================ * 获取客户端IP */ if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { define('CLIENT_IP', getenv('HTTP_CLIENT_IP')); } elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { define('CLIENT_IP', getenv('HTTP_X_FORWARDED_FOR')); } elseif (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { define('CLIENT_IP', getenv('REMOTE_ADDR')); } elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { define('CLIENT_IP', $_SERVER['REMOTE_ADDR']); } else { define('CLIENT_IP', 'unknown'); } /* ================================================================================================ * 页面开始 */ $db = new HMMySQL(SITE_DB_SERVER, SITE_DB_USER, SITE_DB_PASSWORD, SITE_DB_NAME, SITE_DB_CHARSET); switch ($q[0]) { // case 'update' : // require_once 'hm/update.php'; // break; case 'api' : require 'api/main.php'; break; case 'bsearch' : require 'hm/brand_search.php'; break; case 'e': require 'e.php'; echo 1; break; case 'upload' : require_once 'hm/admin/upload.php'; break; case 'upload_json' : require_once 'hm/admin/upload_json.php'; break; case ADMIN_PARAMETER : // 后台 require_once 'hm/admin/main.php'; break; case 'chkimg' : hmChkcodeImage(); break; case "keywords" : require "hm/keywords.php"; break; case SITE_UPLOAD_ROOT : case 'skin' : header('location:' . SITE_ROOT . 'skin/error.jpg'); break; default : require_once 'skin/' . SITE_SKIN . '/config.php'; require_once 'skin/' . SITE_SKIN . '/function.php'; require_once 'hm/user/init.php'; // // HMView::showErrorPage('网站建设中!'); // if (preg_match('/^\w[\w\-\_]{0,15}$/', $q[0])) { if ($channel = $db->getRow("select * from `" . SITE . "channel` where `code`='" . mysql_real_escape_string($q[0]) . "'")) { if ($channel['title'] == '') $channel['title'] = $channel['name']; $channel['config'] = explode(',', $channel['config']); foreach ($channel['config'] as $k => $v) { $channel['config'][$k] = (int) $v; } if ($channel['type'] != 0) { require_once 'hm/' . hmHtmlentities($q[0]) . '/main.php'; } else { require_once 'hm/common.php'; } } elseif ($q[0] == 'search') { require_once 'hm/search.php'; } else { if ($q[0] == '') { $q[0] = ''; require_once 'hm/homepage.php'; } else { header("HTTP/1.1 404 Not Found"); exit; } } } else { if ($q[0] == '') { $q[0] = ''; require_once 'hm/homepage.php'; } else { header("HTTP/1.1 404 Not Found"); exit; } } } ?>