All pastes #572135 Raw Edit

Someone

public text v1 · immutable
·published 2007-06-17 15:37 UTC
rendered paste body
<?php

	/*
	* Include Session Class and Start New Session
	*/
	require_once("Session/main.class.php");
	$sess = new SessionManager;
	session_start();

	/*
	* Handle Sign In
	*/
	if (isset($SignIn)) {
		$GetSalt = mysql_query("SELECT salt FROM users WHERE username = '$User' LIMIT 1") or die(mysql_error());
		$GS = mysql_fetch_array($GetSalt);
		$Salt = base64_decode($GS['salt']);
		$HashedPass = hash_hmac("sha512", $Pass, $Salt);
		$Login = mysql_query("SELECT * FROM users WHERE username = '$User' AND password = '$HashedPass' LIMIT 1") or die(mysql_error());
		$LC = mysql_num_rows($Login);
		$L = mysql_fetch_array($Login);
		$User = $L['username'];
		$UserActivated = $L['activated'];
		$UserDisplayName = $L['display_name'];
		if ($LC > 0 && $UserActivated > 0) {
			unset($_SESSION[$SessLoggedIn]);
			unset($_SESSION[$SessUser]);
			unset($_SESSION[$SessSignInTime]);
			unset($_SESSION[$SessIP]);
			session_destroy();
			$UserGuest = $_SERVER['REMOTE_ADDR'];
			$CheckSignOut = mysql_query("SELECT * FROM ip_track WHERE user = '$UserGuest'");
			while ($CS = mysql_fetch_array($CheckSignOut)) {
				$SignIn = $CS['signin'];
				$LastActive = $CS['last_active'];
				$SignOut = $CS['signout'];
				$IP = $CS['ip'];
				if ($SignOut == "") {
					mysql_query("UPDATE ip_track SET signout = '$LastActive' WHERE user = '$UserGuest' AND signin = '$SignIn' AND ip = '$IP'");
				}
			}
			$sess = new SessionManager;
			session_start();
			$CheckSignOut = mysql_query("SELECT * FROM ip_track WHERE user = '$User'");
			while ($CS = mysql_fetch_array($CheckSignOut)) {
				$SignIn = $CS['signin'];
				$LastActive = $CS['last_active'];
				$SignOut = $CS['signout'];
				$IP = $CS['ip'];
				if ($SignOut = "") {
					mysql_query("UPDATE ip_track SET signout = '$LastActive' WHERE user = '$User' AND signin = '$SignIn' AND ip = '$IP'");
				}
			}
			$_SESSION[$SessLoggedIn] = true;
			$_SESSION[$SessUser] = $User;
			$SignInTime = date("Y-m-d H:i:s");
			$_SESSION[$SessSignInTime] = $SignInTime;
			$UserAgent = $_SERVER['HTTP_USER_AGENT'];
			$IP = $_SERVER['REMOTE_ADDR'];
			$_SESSION[$SessIP] = $IP;
			$UserTrack = mysql_query("INSERT INTO ip_track (user, signin, user_agent, ip) VALUES ('$User', '$SignInTime' , '$UserAgent', '$IP')");
			if (isset($Remember)) {
				setcookie($SessUser, $_SESSION[$SessUser], time()+60*60*24*100, "/");
			}
		}
	}

	/*
	* Create User Session If Cookie Exists
	*/
	if (isset($_COOKIE[$SessUser])){
		if (!isset($_SESSION[$SessLoggedIn]) && !isset($_SESSION[$SessUser]) && !isset($_SESSION[$SessSignInTime]) && !isset($_SESSION[$SessIP])) {
			$User = $_COOKIE[$SessUser];
			$check_account = mysql_query("SELECT * FROM users WHERE username = '$User' LIMIT 1") or die(mysql_error());
			$cac = mysql_num_rows($check_account);
			$L = mysql_fetch_array($check_account);
			$UserActivated = $L['activated'];
			if ($cac > 0 && $UserActivated > 0) {
				$UserGuest = $_SERVER['REMOTE_ADDR'];
				$CheckSignOut = mysql_query("SELECT * FROM ip_track WHERE user = '$UserGuest'");
				while ($CS = mysql_fetch_array($CheckSignOut)) {
					$signin = $CS['signin'];
					$LastActive = $CS['last_active'];
					$SignOut = $CS['signout'];
					$IP = $CS['ip'];
					if($SignOut == "") {
						mysql_query("UPDATE ip_track SET signout = '$LastActive' WHERE user = '$UserGuest' AND signin = '$signin' AND ip = '$IP'");
					}
				}
				$CheckSignOut = mysql_query("SELECT * FROM ip_track WHERE user = '$User'");
				while ($CS = mysql_fetch_array($CheckSignOut)) {
					$signin = $CS['signin'];
					$LastActive = $CS['last_active'];
					$SignOut = $CS['signout'];
					$IP = $CS['ip'];
					if($SignOut == "") {
						mysql_query("UPDATE ip_track SET signout = '$LastActive' WHERE user = '$User' AND signin = '$signin' AND ip = '$IP'");
					}
				}
				$_SESSION[$SessLoggedIn] = true;
				$_SESSION[$SessUser] = $User;
				$SignInTime = date("Y-m-d H:i:s");
				$_SESSION[$SessSignInTime] = $SignInTime;
				$UserAgent = $_SERVER['HTTP_USER_AGENT'];
				$IP = $_SERVER['REMOTE_ADDR'];
				$_SESSION[$SessIP] = $IP;
				$UserTrack = mysql_query("INSERT INTO ip_track (user, signin, user_agent, ip) VALUES ('$User', '$SignInTime' , '$UserAgent', '$IP')");
			}
			else {
				setcookie($SessUser, "", time()-60*60*24*100, "/");
			}
		}
	}

	/*
	* Create Guest Session
	*/
	if (!isset($_SESSION[$SessLoggedIn]) && !isset($_SESSION[$SessUser]) && !isset($_SESSION[$SessSignInTime]) && !isset($_SESSION[$SessIP])) {
		$_SESSION[$SessLoggedIn] = false;
		$_SESSION[$SessUser] = "Guest";
		$User = $_SERVER['REMOTE_ADDR'];
		$CheckSignOut = mysql_query("SELECT * FROM ip_track WHERE user = '$User' ORDER BY id DESC");
		while ($CS = mysql_fetch_array($CheckSignOut)) {
			$SignIn = $CS['signin'];
			$LastActive = $CS['last_active'];
			$SignOut = $CS['signout'];
			$IP = $CS['ip'];
			if ($SignOut == "") {
				mysql_query("UPDATE ip_track SET signout = '$LastActive' WHERE user = '$User' AND signin = '$SignIn' AND ip = '$IP'");
			}
		}
		$SignInTime = date("Y-m-d H:i:s");
		$_SESSION[$SessSignInTime] = $SignInTime;
		$UserAgent = $_SERVER['HTTP_USER_AGENT'];
		$IP = $_SERVER['REMOTE_ADDR'];
		$_SESSION[$SessIP] = $IP;
		$UserTrack = mysql_query("INSERT INTO ip_track (user, signin, user_agent, ip) VALUES ('$User', '$SignInTime' , '$UserAgent', '$IP')");
	}

	/*
	* Update Session Info
	*/
	if (isset($_SESSION[$SessLoggedIn]) && isset($_SESSION[$SessUser]) && isset($_SESSION[$SessSignInTime]) && isset($_SESSION[$SessIP])) {
		$User = $_SESSION[$SessUser];
		if ($User == "Guest") {
			$User = $_SERVER['REMOTE_ADDR'];
		}
		$LastActiveTime = date("Y-m-d H:i:s");
		$SignInTime = $_SESSION[$SessSignInTime];
		$IP = $_SESSION[$SessIP];
		mysql_query("UPDATE ip_track SET last_active = '$LastActiveTime' WHERE user = '$User' AND signin = '$SignInTime' AND ip = '$IP'");
	}

	/*
	* Handle Sign Out
	*/
	if (isset($SignOut)) {
		setcookie($SessUser, "", time()-60*60*24*100, "/");
		$User = $_SESSION[$SessUser];
		$SignOutTime = date("Y-m-d H:i:s");
		$SignInTime = $_SESSION[$SessSignInTime];
		$IP = $_SESSION[$SessIP];
		mysql_query("UPDATE ip_track SET signout = '$SignOutTime' WHERE user = '$User' AND signin = '$SignInTime' AND ip = '$IP'");
		unset($_SESSION[$SessLoggedIn]);
		unset($_SESSION[$SessUser]);
		unset($_SESSION[$SessSignInTime]);
		unset($_SESSION[$SessIP]);
		session_destroy();
	}

?>