Advertisement
Guest User

Untitled

a guest
May 6th, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.39 KB | None | 0 0
  1. <?php
  2. if (!defined('CN_INIT_LOGINBOX')) {
  3.     // Define variables and constants and include files
  4.     define('CN_INIT_LOGINBOX', true);
  5.     $cutepath = dirname(__FILE__);
  6.     chdir($cutepath);
  7.     if (isset($_GET['action'])) {
  8.         $action = $_GET['action'];
  9.     } elseif (isset($_POST['action'])) {
  10.         $action = $_POST['action'];
  11.     } else {
  12.         $action = '';
  13.     }
  14.  
  15.     require_once($cutepath.'/inc/functions.inc.php');
  16.  
  17.     // Start Session
  18.     session_start();
  19.  
  20.     // Log user out if requested
  21.     if ($action == 'logout') {
  22.         session_destroy();
  23.         session_unset();
  24.         setcookie(session_name(), '');
  25.         unset($_SESSION);
  26.         $message = '<div style="color: green;">Logged Out</div>';
  27.     }
  28.  
  29.     // Detect IP
  30.     $ip = '';
  31.     if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  32.         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  33.     } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
  34.         $ip = $_SERVER['HTTP_CLIENT_IP'];
  35.     }
  36.     if ($ip == '') {
  37.         $ip = $_SERVER['REMOTE_ADDR'];
  38.     }
  39.     if ($ip == '') {
  40.         $ip = 'not detected';
  41.     }
  42.  
  43.     $all_users = file($cutepath.'/data/users.db.php');
  44.     $is_logged_in = false;
  45.     if ($action == 'login') {
  46.         $md5_password = md5($password);
  47.         if (check_login($username, $md5_password)) {
  48.             $_SESSION['username'] = $username;
  49.             $_SESSION['md5_password'] = $md5_password;
  50.             $_SESSION['ip'] = $ip;
  51.             $_SESSION['login_referer'] = $HTTP_REFERER;
  52.  
  53.             $is_logged_in = true;
  54.             $name = $_POST['name'] = $member_db[4];
  55.             $mail = $_POST['mail'] = $member_db[5];
  56.  
  57.             $old_users_db = file($cutepath.'/data/users.db.php');
  58.             $modified_users = fopen($cutepath.'/data/users.db.php', 'w');
  59.             foreach ($old_users_db as $old_users_db_line) {
  60.                 $old_users_db_arr = explode('|', $old_users_db_line);
  61.                 if ($member_db[0] != $old_users_db_arr[0]) {
  62.                     fwrite($modified_users, $old_users_db_line);
  63.                 } else {
  64.                     fwrite($modified_users, $old_users_db_arr[0].'|'.$old_users_db_arr[1].'|'.$old_users_db_arr[2].'|'.$old_users_db_arr[3].'|'.$old_users_db_arr[4].'|'.$old_users_db_arr[5].'|'.$old_users_db_arr[6].'|'.$old_users_db_arr[7].'|'.$old_users_db_arr[8].'|'.time().'||'.chr(10));
  65.                 }
  66.             }
  67.             fclose($modified_users);
  68.         } else {
  69.             $message = '<div style="color: red;">Invalid login</div>';
  70.         }
  71.     } elseif (isset($_SESSION['username'])) {
  72.         if (check_login($_SESSION['username'], $_SESSION['md5_password'])) {
  73.             if ($_SESSION['ip'] != $ip) {
  74.                 $message = '<div style="color: red;">Session IP doesn\'t match.</div>';
  75.             } else {
  76.                 $is_logged_in = true;
  77.                 $name = $_POST['name'] = $member_db[4];
  78.                 $mail = $_POST['mail'] = $member_db[5];
  79.             }
  80.         } else {
  81.             $message = '<div style="color: red;">Invalid login</div>';
  82.         }
  83.     }
  84.     chdir(dirname($_SERVER['SCRIPT_FILENAME']));
  85. } else {
  86.     if ($is_logged_in) {
  87. ?>
  88. <p>
  89.     You are logged in as <?=htmlentities($_SESSION['username'])?>, <a href="<?=$PHP_SELF?>?action=logout">Log Out</a>
  90. </p>
  91. <?php
  92.     } else {
  93. ?>
  94.  <form name="login" action="<?=htmlentities($PHP_SELF)?>" method="post">
  95.   <input type="hidden" name="action" value="login" />
  96.   <?=$message?>
  97.   <label for="username">Username:</label>
  98.   <br />
  99.   <input type="text" name="username" id="username" value="<?=htmlentities($_SESSION['lastusername'])?>" style="width: 140px;" />
  100.   <br />
  101.   <label for="password">Password:</label>
  102.   <br />
  103.   <input type="password" name="password" id="password" style="width: 140px;" />
  104.   <br />
  105.   <input type="submit" style="width: 75px;" value='Login' accesskey="s" />
  106.  </form>
  107. <?php
  108.     }
  109. }
  110. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement