=PHP 5.3.7) str_pad($cost,2,"0",STR_PAD_LEFT), //add the cost in two digits $salt //add the salt )); //now do the actual hashing return crypt($password,$param); } /* function SessaoOK() { //echo generate_hash(123); //exit; global $cfg; date_default_timezone_set('America/Belem'); $datatime = date("Y-m-d H:i:s"); $ret = FALSE; if (conectar()) { $email=addslashes($_POST['usuario']?? null); $senha=addslashes($_POST['senha']?? null); //PRINT_r($_SESSION); if (($_SESSION['login']['expira']?? null) < time() || ($_POST['senha']?? null)) { //ECHO $_SESSION['login']['expira']."-".time(); if ($email){ $q = dbQuery("select * FROM CLIENTE WHERE EMAIL = '$email' AND SNATIVO = 'S'"); if ($_SESSION['login'] = dbfetcharray($q)) { //ECHO crypt($senha,$_SESSION[login][SENHA]); //echo $_SESSION[login][SENHA]; if (crypt($senha,$_SESSION['login']['SENHA']) === $_SESSION['login']['SENHA']) { $_SESSION['login']['expira'] = time() + $cfg['sessao']* 60; $_SESSION['login']['TIPO_USUARIO'] = 'CLIENTE'; $ret=true; } else { $_SESSION['login']['erro']="EMAIL/Senha inválidos"; } } else { $_SESSION['login']=array(); $_SESSION['login']['erro']="EMAIL/Senha inválidos"; } } else { $_SESSION['login']['erro']="EMAIL/Senha inválidos"; } } else { //echo "aqui"; $_SESSION['login']['expira'] = time() + $cfg['sessao'] * 60; $ret = TRUE; } } else { $_SESSION['login']['erro']="Problema de conexão com o servidor, tente novamente em alguns instantes"; } #return true; //echo $return; return $ret; } */ function SessaoOK($forcar=false) { //echo generate_hash(123); //exit; global $cfg; date_default_timezone_set('America/Belem'); $datatime = date("Y-m-d H:i:s"); $ret = FALSE; if (conectar()) { $email=addslashes($_POST['usuario']?? null); $senha=addslashes($_POST['senha']?? null); //PRINT_r($_SESSION); if ($forcar){ //ECHO $_SESSION[login][expira]."-".time(); if ($email){ $q = dbQuery($c="select * FROM CLIENTE WHERE EMAIL = '$email' AND SNATIVO = 'S'"); if ($_SESSION['login'] = dbfetcharray($q)) { //ECHO crypt($senha,$_SESSION[login][SENHA]); //echo $_SESSION[login][SENHA]; if (crypt($senha,$_SESSION['login']['SENHA']) === $_SESSION['login']['SENHA']) { $cookie=aleatorio().md5("$email"); setcookie("authtoken", $cookie, time() + (86400 * 30 *12 *10), "/"); $ip=ip(); dbquery("insert into SESSAO (EMAIL,TOKEN,IP) values ('$email','$cookie','$ip')"); $_SESSION['login']['TIPO_USUARIO'] = 'CLIENTE'; $ret=true; } else { $_SESSION['login']['erro']="EMAIL/Senha inválidos"; } } else { $_SESSION['login']=array(); $_SESSION['login']['erro']="EMAIL/Senha inválidos"; } } else { $_SESSION['login']['erro']="EMAIL/Senha inválidos"; } } else { $cookie=$_COOKIE['authtoken']??null; if (!empty($cookie)){ $email=dbfetchScalar("SELECT EMAIL from SESSAO WHERE TOKEN='$cookie'"); if (!empty($email)){ $q = dbQuery($c="select * FROM CLIENTE WHERE EMAIL = '$email' AND SNATIVO = 'S'"); if ($_SESSION['login']=dbfetcharray($q)){ $_SESSION['login']['TIPO_USUARIO'] = 'CLIENTE'; $ret=true; //print_r($_SESSION); } else { $_SESSION['login']['erro']="Sessão Inválida"; } } else { $_SESSION['login']['erro']="Sessão Inválida"; } } else { $_SESSION['login']['erro']="Sessão Inválida"; } } } else { $_SESSION['login']['erro']="Problema de conexão com o servidor, tente novamente em alguns instantes"; } #return true; //echo $return; return $ret; } function aleatorio() { $alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'; $pass = array(); //remember to declare $pass as an array $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache for ($i = 0; $i < 10; $i++) { $n = rand(0, $alphaLength); $pass[] = $alphabet[$n]; } return implode($pass); //turn the array into a string } ?>