Advertisement
Guest User

Untitled

a guest
Mar 6th, 2015
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.68 KB | None | 0 0
  1. <?php
  2.  
  3. // Revert the changes made by magic quotes if it's set.
  4. if (get_magic_quotes_gpc()) {
  5.     // No need to stripslashes() on keys since that is most likely an errorneous
  6.     // query parameter anyway.
  7.     function stripslashes_gpc(&$value) {
  8.         $value = stripslashes($value);
  9.     }
  10.    
  11.     array_walk_recursive($_GET, 'stripslashes_gpc');
  12.     array_walk_recursive($_POST, 'stripslashes_gpc');
  13.     array_walk_recursive($_REQUEST, 'stripslashes_gpc');
  14.     array_walk_recursive($_COOKIE, 'stripslashes_gpc');
  15. }
  16.  
  17. define('PHPTOPLIST', true);
  18. define('BASE_DIR', getcwd() . '/');
  19. define('BASE_URL', 'http://' . $_SERVER['SERVER_NAME'] . substr($_SERVER['REQUEST_URI'], 0, strrchr($_SERVER['REQUEST_URI'], '/') + 1));
  20.  
  21. require_once('config.php');
  22. require_once('classes/Database.php');
  23. require_once('classes/Settings.php');
  24.  
  25.  
  26. // In a master+slave implementation, the master database always sets the prefix.
  27. define('TABLE_PREFIX', Database::getDatabase()->getTablePrefix());
  28. define('SESSION_COOKIE_NAME', 'phptoplist_session');
  29.  
  30. $forum_status = Settings::getForumStatus();
  31. // The toplist hasn't been installed!
  32. if ($forum_status == -1) {
  33.     header('Location: install/install.php');
  34.     die();
  35. }
  36.  
  37. // Register session object and methods.
  38. require_once('classes/SessionHandler.php');
  39. $session_handler = new DBSessionHandler();
  40. session_set_save_handler(
  41.     array($session_handler, 'open'),
  42.     array($session_handler, 'close'),
  43.     array($session_handler, 'read'),
  44.     array($session_handler, 'write'),
  45.     array($session_handler, 'destroy'),
  46.     array($session_handler, 'gc')
  47. );
  48. // The following prevents unexpected effects when using objects as save handlers.
  49. register_shutdown_function('session_write_close');
  50.  
  51. // EU Cookie Law compliance at its finest! (for guests)
  52. @ini_set('session.use_only_cookies', false);
  53. @ini_set('session.use_cookies', false);
  54. @ini_set('session.use_trans_sid', false);
  55.  
  56. $user = null;
  57. require_once('classes/User.php');
  58. // It's a guest!
  59. if (!isset($_COOKIE[SESSION_COOKIE_NAME])) {
  60.     @ini_set('session.use_trans_sid', true);
  61.     $user = User::getGuestUser();
  62. } else {
  63.     // We use our own session cookie, so reset the session name!
  64.     session_name(SESSION_COOKIE_NAME);
  65.     list($session_id, $email, $password) = unserialize($_COOKIE[SESSION_COOKIE_NAME]);
  66.     session_id($session_id);
  67.     $user = User::getUserByLogin($email, $password);
  68. }
  69.  
  70. require_once('classes/Misc.php');
  71. define('CSRF_TOKEN', Security::generateCSRFToken());
  72.  
  73. ob_start();
  74. session_start();
  75.  
  76. if ($forum_status == 1) { // Maintenance mode!
  77.     // TODO: redirect to some generic page.
  78. }
  79.  
  80. require_once('controller.php');
  81.  
  82. $_SESSION['last_csrf_token'] = CSRF_TOKEN;
  83.  
  84. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement