Forums / National / Russian / Тех. поддержка / Запросы документации

Принимаем вопросы от населения

bbcont
#38333 2013-11-05 15:23
#38331 Kabak:

call to a member function quote() on a non-object

Как переводится ?

$sid - что такое,  и откуда оно берётся ?  

Анализируйте код.

Вот смотрите:

$row['user_sidtime']

в базе нет такого поля, а вот $row['user_sid'] есть,

сид это же преобрзаование пароля из кодированного вида в нормальный

Остальные вроде все параметры есть

Added 27 minutes later:

буду рад узнать что такое $sid и как его правильно записать

Added 1 hours later:

$rowi = sed_sql_query("SELECT * FROM sed_users WHERE user_name='$rusername' AND (user_maingrp=4) LIMIT 1");			
$rowt = sed_sql_fetcharray($rowi);
				
			
			
		$ruserid = $rowt['user_id'];
		$rmdpass = $rowt['user_password'];

		$token = sed_unique(16);
		$sid = hash_hmac('sha256', $rmdpass . $rowt['user_lastlog'], $cfg['secret_key']);	
		
		
		if (empty($rowt['user_sid']) || $rowt['user_sid'] != $sid || $rowt['user_lastlog'] + $cfg['cookielifetime'] < $sys['now_offset']){
        // Generate new session identifier
        $sid = hash_hmac('sha256', $rmdpass . $sys['now_offset'], $cfg['secret_key']);
         $update_sid = ", user_sid = "."'".sed_sql_prep($sid)."'".", user_lastlog = ".$sys['now_offset'];
      }
      else
      {
        $update_sid = '';
      }
	  
	  
	  echo $usr['ip']."<br>";
	  echo $sys['now_offset']."<br>";
	  echo $token."<br>";
	  echo $update_sid."<br>";
	  echo "sidrime:";
	  echo $rowt['user_lastlog']."<br>";
	  
	  
	  echo "lllaaaast";
	  echo $rowt['user_id']."<br>";

	  echo "lastlog:";

	  
sed_sql_query("UPDATE $db_users SET user_lastip='{$usr['ip']}', user_lastlog = {$sys['now_offset']}, user_logcount = user_logcount + 1, user_token = '$token'$update_sid WHERE user_id={$rowt['user_id']}");
// Hash the sid once more so it can't be faked even if you know user_sid


$sid = hash_hmac('sha1', $sid, $cfg['secret_key']);


$u1 = base64_encode($ruserid.':'.$sid);
 
if ($rremember){
        sed_setcookie($sys['site_id'], $u1, time()+$cfg['cookielifetime'], $cfg['cookiepath'], $cfg['cookiedomain'], $sys['secure'], true);
        unset($_SESSION[$sys['site_id']]);
}
else
{
    $_SESSION[$sys['site_id']] = $u1;

 

хм, сделал, но вот почему-то после регистрации успешной автоматического выхода не получилось, в чем может быть проблема намекните хоть где я ошибся(


Dit bericht is bewerkt door bbcont (2013-11-05 17:09, 11 jaren ago)