globalxxx.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. function maddslashes($string, $force = 0)
  3. {
  4. !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
  5. if (!MAGIC_QUOTES_GPC || $force) {
  6. if (is_array($string)) {
  7. foreach ($string as $key => $val) {
  8. $string[$key] = maddslashes($val, $force);
  9. }
  10. }
  11. else {
  12. $string = addslashes($string);
  13. }
  14. }
  15. return $string;
  16. }
  17. if (!defined('IN_MYMPS')) {
  18. exit('FORBIDDEN');
  19. }
  20. error_reporting(32767 ^ 8);
  21. @header('Content-Type: text/html; charset=utf-8');
  22. @set_magic_quotes_runtime(0);
  23. define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
  24. require_once dirname(__FILE__) . '/global.inc.php';
  25. require MYMPS_DATA . '/config.inc.php';
  26. if (function_exists('date_default_timezone_set')) {
  27. date_default_timezone_set('Hongkong');
  28. }
  29. $mtime = explode(' ', microtime());
  30. $mymps_starttime = $mtime[1] + $mtime[0];
  31. $timestamp = time();
  32. @ini_set('memory_limit', '640M');
  33. @ini_set('session.cache_expire', 180);
  34. @ini_set('session.use_trans_sid', 0);
  35. @ini_set('session.use_cookies', 1);
  36. @ini_set('session.auto_start', 0);
  37. @ini_set('display_errors', 1);
  38. if (!function_exists('file_put_contents')) {
  39. define('FILE_APPEND', 'FILE_APPEND');
  40. function file_put_contents($file, $data, $flags = '')
  41. {
  42. $contents = is_array($data) ? implode('', $data) : $data;
  43. if ($flags == 'FILE_APPEND') {
  44. $mode = 'ab+';
  45. }
  46. else {
  47. $mode = 'wb';
  48. }
  49. if (($fp = @fopen($file, $mode)) === false) {
  50. return false;
  51. }
  52. else {
  53. $bytes = fwrite($fp, $contents);
  54. fclose($fp);
  55. return $bytes;
  56. }
  57. }
  58. }
  59. if (PHP_VERSION < '4.1.0') {
  60. $_GET = &$HTTP_GET_VARS;
  61. $_POST = &$HTTP_POST_VARS;
  62. $_COOKIE = &$HTTP_COOKIE_VARS;
  63. $_SERVER = &$HTTP_SERVER_VARS;
  64. $_ENV = &$HTTP_ENV_VARS;
  65. $_FILES = &$HTTP_POST_FILES;
  66. unset($HTTP_GET_VARS);
  67. unset($HTTP_POST_VARS);
  68. unset($HTTP_COOKIE_VARS);
  69. unset($HTTP_ENV_VARS);
  70. unset($HTTP_POST_FILES);
  71. unset($HTTP_SERVER_VARS);
  72. }
  73. require_once MYMPS_INC . '/common.fun.php';
  74. require_once MYMPS_INC . '/template.fun.php';
  75. require_once MYMPS_INC . '/custom.fun.php';
  76. require_once MYMPS_INC . '/cache.fun.php';
  77. require_once MYMPS_INC . '/class.fun.php';
  78. if (!defined('IN_MANAGE')) {
  79. foreach (array('_COOKIE', '_POST', '_GET') as $_request) {
  80. foreach (${$_request} as $_key => $_value) {
  81. $_key[0] != '_' && (${$_key} = mhtmlspecialchars(maddslashes($_value)));
  82. }
  83. }
  84. }
  85. else {
  86. foreach (array('_COOKIE', '_POST', '_GET') as $_request) {
  87. foreach (${$_request} as $_key => $_value) {
  88. $_key[0] != '_' && (${$_key} = maddslashes($_value));
  89. }
  90. }
  91. }
  92. require_once MYMPS_ROOT . '/version.php';
  93. if (__FILE__ == '') {
  94. exit('Fatal error code: 0');
  95. }
  96. if (DIRECTORY_SEPARATOR == '\\') {
  97. @ini_set('include_path', '.;' . ROOT_PATH);
  98. }
  99. else {
  100. @ini_set('include_path', '.:' . ROOT_PATH);
  101. }
  102. if (defined('DEBUG_MODE') == false) {
  103. define('DEBUG_MODE', 0);
  104. }
  105. if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
  106. exit('Request tainting attempted.');
  107. }
  108. if (is_array($_FILES)) {
  109. foreach ($_FILES as $_name => $_value) {
  110. ${$_name} = $_value['tmp_name'];
  111. $_fp = @fopen(${$_name}, 'r');
  112. $_fstr = @fread($_fp, filesize(${$_name}));
  113. @fclose($_fp);
  114. if ($_fstr != '' && @ereg('<(\\?|%)', $_fstr)) {
  115. exit();
  116. }
  117. }
  118. }
  119. $php_self = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
  120. if ('/' == substr($php_self, -1)) {
  121. $php_self .= 'index.php';
  122. }
  123. @session_save_path(CURSCRIPT == 'wap' ? MYMPS_ROOT . '/m/sessions' : MYMPS_DATA . '/sessions');
  124. $ifmobile = mgetcookie('ifmobile');
  125. if (!$ifmobile) {
  126. $ifmobile = !pcclient();
  127. msetcookie('ifmobile', $ifmobile);
  128. }
  129. ?>