1
Поиск Работы / Скрипты PHP на заказ
« : 03 Мая 2004, 12:04:37 »
Вот код проверки авторизации:
$n_time = time();
$s = _Soft_String($s,32);
if (!$in)
{
$q = mysql_query("SELECT id,login,pw,sess_hash,sess_time
FROM admins WHERE id=\'$session\'");
$r = mysql_fetch_row($q);
if ($r[0])
{
$test_t = $n_time-$r[4];
if ($s != $r[3] or $sess_break_time < $test_t) # $sess_break_time - время сессии (устанавливается в файле конфигурации)
{
mysql_query("UPDATE admins SET sess_hash=\'0\', sess_time=\'0\' WHERE id=\'$r[0]\'");
mysql_query("OPTIMIZE TABLE admins");
$no = 1;
require_once ("admin_init.php"); # Обратно на авторизацию
}
}
else
{
require_once ("admin_init.php"); # Опять же на авторизацию
}
mysql_query("UPDATE admins SET sess_time=\'$n_time\' WHERE id=\'$r[0]\'");
@mysql_query("OPTIMIZE TABLE admins");
}
if ($in == 1) $in = "";
Этот код отрабатывает каждый раз в начале при работе в интерфейсе.
$n_time = time();
$s = _Soft_String($s,32);
if (!$in)
{
$q = mysql_query("SELECT id,login,pw,sess_hash,sess_time
FROM admins WHERE id=\'$session\'");
$r = mysql_fetch_row($q);
if ($r[0])
{
$test_t = $n_time-$r[4];
if ($s != $r[3] or $sess_break_time < $test_t) # $sess_break_time - время сессии (устанавливается в файле конфигурации)
{
mysql_query("UPDATE admins SET sess_hash=\'0\', sess_time=\'0\' WHERE id=\'$r[0]\'");
mysql_query("OPTIMIZE TABLE admins");
$no = 1;
require_once ("admin_init.php"); # Обратно на авторизацию
}
}
else
{
require_once ("admin_init.php"); # Опять же на авторизацию
}
mysql_query("UPDATE admins SET sess_time=\'$n_time\' WHERE id=\'$r[0]\'");
@mysql_query("OPTIMIZE TABLE admins");
}
if ($in == 1) $in = "";
Этот код отрабатывает каждый раз в начале при работе в интерфейсе.