Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
eval("\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34..
Decoded Output download
?><?php
require_once 'dbase.php';
/**
* Class login
* handles the user's login and logout process
*/
class Login
{
/**
* @var object The database connection
*/
private $db_connection = null;
/**
* @var array Collection of error messages
*/
public $errors = array();
/**
* @var array Collection of success / neutral messages
*/
public $messages = array();
/**
* the function "__construct()" automatically starts whenever an object of this class is created,
* you know, when you do "$login = new Login();"
*/
public function __construct()
{
// create/read session, absolutely necessary
session_start();
// check the possible login actions:
// if user tried to log out (happen when user clicks logout button)
if (isset($_GET["logout"])) {
$this->doLogout();
}
// login via post data (if user just submitted a login form)
elseif (isset($_POST["login"])) {
$this->dologinWithPostData();
}
}
/**
* log in with post data
*/
private function dologinWithPostData()
{
// check login form contents
if (empty($_POST['user_name'])) {
$this->errors[] = "Username field was empty.";
} elseif (empty($_POST['user_password'])) {
$this->errors[] = "Password field was empty.";
} elseif (!empty($_POST['user_name']) && !empty($_POST['user_password'])) {
// create a database connection, using the constants from config/db.php (which we loaded in index.php)
$this->db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
// change character set to utf8 and check it
if (!$this->db_connection->set_charset("utf8")) {
$this->errors[] = $this->db_connection->error;
}
// if no connection errors (= working database connection)
if (!$this->db_connection->connect_errno) {
// escape the POST stuff
$user_name = $this->db_connection->real_escape_string($_POST['user_name']);
// database query, getting all the info of the selected user (allows login via email address in the
// username field)
$sql = "SELECT user_name, user_email, user_password_hash
FROM users
WHERE user_name = '" . $user_name . "' OR user_email = '" . $user_name . "';";
$result_of_login_check = $this->db_connection->query($sql);
// if this user exists
if ($result_of_login_check->num_rows == 1) {
// get result row (as an object)
$result_row = $result_of_login_check->fetch_object();
// using PHP 5.5's password_verify() function to check if the provided password fits
// the hash of that user's password
if (password_verify($_POST['user_password'], $result_row->user_password_hash)) {
// write user data into PHP SESSION (a file on your server)
$_SESSION['user_name'] = $result_row->user_name;
$_SESSION['user_email'] = $result_row->user_email;
$_SESSION['user_login_status'] = 1;
} else {
$this->errors[] = "Wrong password. Try again.";
}
} else {
$this->errors[] = "This user does not exist.";
}
} else {
$this->errors[] = "Database connection problem.";
}
}
}
/**
* perform the logout
*/
public function doLogout()
{
// delete the session of the user
unset($_SESSION['user_name']);
unset($_SESSION['user_email']);
unset($_SESSION['user_login_status']);
// return a little feeedback message
$this->messages[] = "You have been logged out.";
}
/**
* simply return the current state of the user's login
* @return boolean user's login status
*/
public function isUserLoggedIn()
{
if (isset($_SESSION['user_login_status']) AND $_SESSION['user_login_status'] == 1) {
return true;
}
// default return
return false;
}
}
Did this file decode correctly?
Original Code
eval("\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x28'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'\x29\x29\x29\x3B");
Function Calls
| gzinflate | 5 |
| debvdx64521 | 1 |
| base64_decode | 5 |
Stats
| MD5 | 3b63b8b328090903538718e4c753372f |
| Eval Count | 9 |
| Decode Time | 106 ms |