hash в скрипте логина
вобщем такая проблемма
у меня сервер л2 и у него в базе все пароли лежат в хеше вирлпул база 64
а когда с сайта запрашиваю опредилённый аккаунт он нелогинется скарей всего иззи того что при логине пасс кодируется в другом хеше
вот скрипт логина
тут разработчик скрипта сказал с 87 по 91 строчки править нада, но сто тока не пробовал ниработает
PHP код:
<?php session_start();
if (__FILE__==$_SERVER['SCRIPT_FILENAME']) {
die ("You can't access this file directly...");
}
class login {
var $name = 'login';
var $version = '1.0 CL@$Rev: 1125 $';
var $module_type = 'client';
var $admin_side = false;
function auth_check($login, $passwd) {
global $db;
$login = addslashes($login);
$result = $db['prim']->query("SELECT ".AC_PASSWORD." AS password FROM ".TBL_ACCOUNTS." WHERE ".AC_LOGIN." = '".$login."'");
return ($account = $db['prim']->fetch_array($result)) && $account['password'] == $passwd;
}
function clear_login($txt) {
global $CFG_CLIENT,$CFG;
$expire_t = time() - 86400;
setcookie("logged_usr", "", $expire_t);
setcookie("login_usr", "", $expire_t);
setcookie("pass_usr", "", $expire_t);
setcookie("auth_usr_hash", "", $expire_t);
setcookie("serv_id", "", 0, '/');
unset($_COOKIE['serv_id']);
$text = '';
$CFG_CLIENT['skin'] = 'login';
$CFG_CLIENT['default_module'] = $this->name;
$CFG = $CFG_CLIENT;
unset($_POST);
unset($_COOKIE);
$content = array(
'text_err' => $txt,
'text' => $text,
'ses_name' => session_name(),
'ses_id' => session_id(),
'form_action' => '?module='.$this->name,
'_template_' => 'LOGIN',
);
return $content;
}
function _main() {
global $request, $db, $CFG_CLIENT,$CFG;
if(isset($_REQUEST['logout'])){
return $this->clear_login("{login_logout}");
}
if (!isset($_POST['getin_usr'])) { //no form submitted
if (!isset($_COOKIE['logged_usr'])) { //no cookie set yet
//login
$CFG_CLIENT['skin'] = 'login';
$CFG_CLIENT['default_module'] = $this->name;
$CFG = $CFG_CLIENT;
$content = array(
'text_err' => '',
'text' => $text,
'ses_name' => session_name(),
'ses_id' => session_id(),
'form_action' => '?module='.$this->name,
'_template_' => 'LOGIN',
);
return $content;
} else { //else check cookie auth.
if ($this->auth_check($_COOKIE['login_usr'], $_COOKIE['pass_usr'])) {
if ($_COOKIE['auth_usr_hash']==md5($_COOKIE['login_usr'].date("d-a").$_SERVER['HTTP_USER_AGENT'])) {
setcookie("logged_usr", '1');
setcookie("login_usr", $_COOKIE['login_usr']);
setcookie("pass_usr", $_COOKIE['pass_usr']);
setcookie("auth_usr_hash", md5($_COOKIE['login_usr'].date("d-a").$_SERVER['HTTP_USER_AGENT']));
} else {
return $this->clear_login("{login_have}");
exit;
}
} else {
return $this->clear_login("{login_have}");
exit;
}
}
} else { //else check form, cookie auth.
if ($this->auth_check($_POST['login_usr'], base64_encode(pack('H*', sha1(utf8_encode($_POST['pass_usr'])))) ) ) {
if(isset($_SESSION['captcha_keystring']) && isset($_POST['keystring']) && ($_SESSION['captcha_keystring'] == $_POST['keystring'])) {
setcookie("logged_usr", '1');
setcookie("login_usr", $_POST['login_usr']);
setcookie("pass_usr", base64_encode(pack('H*', sha1(utf8_encode($_POST['pass_usr'])))));
setcookie("auth_usr_hash", md5($_POST['login_usr'].date("d-a").$_SERVER['HTTP_USER_AGENT']) );
$CFG_CLIENT['skin'] = "default";
$CFG_CLIENT['default_module'] = "info";
$CFG = $CFG_CLIENT;
header("Location: ./");
} else {
return $this->clear_login("{login_err_captcha}");
exit;
}
unset($_SESSION['captcha_keystring']);
} else {
return $this->clear_login("{login_have}");
exit;
}
}
}
}
?>
помогите плиз
|