Witam
Chciał bym się pozbyć zabezpieczenia salt z poniższego kodu. Chciał bym, aby można było się zalogować na stronie za pośrednictwem hasła które jest zapisane w bazie danych. Nie musi być zakodowane.
<?php
AL_ADMIN => 'Administrator'
);
$REGISTER_DENY = array(); $REGISTER_DENY[] = "root";
$REGISTER_DENY[] = "admin";
$REGISTER_DENY[] = "administrator";
$REGISTER_DENY[] = "moderator";
$REGISTER_DENY[] = "system";
$REGISTER_DENY[] = "serwis";
include(dirname(__FILE__) . '/../salt/salt.php');
function user_login($login = null, $password = null, $encrypted = false) {
if (!my_login() || !my_password())
return 'Nie odnaleziono informacji o koncie w bieżącej sesji';
$login = my_login();
$password = my_password();
} else
$password = $encrypted ? $password : salt($password);
$user = $db->query("SELECT * FROM `users` WHERE LOWER(`login`) = LOWER('" . $db->escape_string($login) . "') AND `haslo` = '" . $db->escape_string($password) . "'")->fetch_assoc();
if (!empty($user['zablokowany'])) return 'Konto zablokowane';
else if (!empty($user['usuniety'])) return 'Konto usunięte';
} else
return 'Niepoprawny login / hasło';
if (!my_id()) {
$set[] = "`ostatnia_aktywnosc` = '" . datetimeS(my_lastactivity()) . "'";
$db->query("UPDATE `users` SET " . implode(',', $set) . " WHERE `id` = {$user['id']}"); }
my_id($user['id']);
my_login($user['login']);
my_password($user['haslo']);
return true;
}
function loggedin() {
if (user_login() === true)
return true;
return false;
}
function user_logout() {
if (loggedin()) {
my_id(null);
my_login(null);
my_password(null);
my_logintime(null);
my_lastactivity(null);
}
}
function my_id($value = false) {
/*
* @params: (none/false): return value
* @params: (null): unset value
* @params: (mixed) value: set (int) value
*/
if ($value === null)
unset($_SESSION['my_id']); else if ($value !== false)
$_SESSION['my_id'] = (int) $value;
return isset($_SESSION['my_id']) ?
$_SESSION['my_id'] : false; }
function my_login($value = false) {
/*
* @params: (none/false): return value
* @params: (null): unset value
* @params: (mixed) value: set value
*/
if ($value === null)
unset($_SESSION['my_login']); else if ($value !== false)
$_SESSION['my_login'] = $value;
return isset($_SESSION['my_login']) ?
$_SESSION['my_login'] : false; }
function my_password($value = false) {
/*
* @params: (none/false): return value
* @params: (null): unset value
* @params: (mixed) value: set value
*/
if ($value === null)
unset($_SESSION['my_password']); else if ($value !== false)
$_SESSION['my_password'] = $value;
return isset($_SESSION['my_password']) ?
$_SESSION['my_password'] : false; }
function my_logintime($value = false) {
/*
* @params: (none/false): return value
* @params: (null): unset value
* @params: (mixed) value: set value
*/
if ($value === null)
unset($_SESSION['my_logintime']); else if ($value !== false)
$_SESSION['my_logintime'] = $value;
return isset($_SESSION['my_logintime']) ?
$_SESSION['my_logintime'] : false; }
function my_lastactivity($value = false) {
/*
* @params: (none/false): return value
* @params: (null): unset value
* @params: (mixed) value: set value
*/
if ($value === null)
unset($_SESSION['my_lastactivity']); else if ($value !== false)
$_SESSION['my_lastactivity'] = $value;
return isset($_SESSION['my_lastactivity']) ?
$_SESSION['my_lastactivity'] : false; }
function my_level() {
if (!loggedin())
return false;
$r = $db->query("SELECT `level` FROM `users` WHERE `id` = " . my_id())->fetch_assoc();
return $r ? $r['level'] : false;
}
function user_session() {
if (!my_logintime() || !my_lastactivity())
return false;
if (my_id()) {
$db->query("UPDATE `users` SET `ostatnia_aktywnosc` = '" . datetimeS(my_lastactivity()) . "' WHERE `id` = " . my_id());
} else
return false;
return true;
}
function get_user($id, $opts = null) {
$opts['where'][] = "`id` = '" . (int) $id . "'";
$r = get_user_list($opts);
return isset($r[0
]) ?
$r[0
] : $r; }
function get_user_list($opts = null) {
$opts['select'][] = "*";
$opts['from'][] = "`users`";
if (empty($opts['order'])) $opts['order'][] = "`id` DESC";
return get_db_data($opts);
}
user_session();
?>