CORSAiR
Новичок
Сессии. аудентификации админа. Ничего я не пропустил?
Сегодня начал разбираться с сессиями. Ипользую для аудентификации админа... посмотрите plz, на сколько это безопасно и в ту ли сторону двигаюсь =)
то, что получилось:
файл login.php
теперь... в начале, в каждом админовском скрипте (файле) пишу:
Не проглядел ли я чего ? И еще.. для админа хочу выделить определенное количество времени. Потом все по новой.
Сегодня начал разбираться с сессиями. Ипользую для аудентификации админа... посмотрите plz, на сколько это безопасно и в ту ли сторону двигаюсь =)
то, что получилось:
файл login.php
PHP:
<?php
// Пытаемся обнулись идентификатор
unset($GLOBALS[_SESSION][$autorized]);
$_SESSION["autorized"] = 0;
// Соединяемся с базой данных
require_once("../config.php");
$loginname = str_replace("'","`",$_POST['login']);
$magic = md5(trim(str_replace("'","`",$_POST['magic'])));
// Формируем SQL-запрос на поиск админа
$query="SELECT * FROM tr_members WHERE loginName='$loginname' AND passwd='$magic' AND status='admin'";
// Ищем
if($res = mysql_query($query))
{
while($row=mysql_fetch_array($res, MYSQL_ASSOC))
if($magic <> $row['passwd'])
{// На всякий случай проверяем еще раз, если пароли не совпали то выходим
header("Location: index.php");
exit();
} else { // Если нашли админа, то стартуем сессию и направляем дальше
session_start();
session_register("autorized");
$_SESSION["autorized"] = 1;
header("Location: news/index.php");
exit();
}
} else { // Если пользователя не найдено то выходим
header("Location: index.php");
exit();
}
?>
теперь... в начале, в каждом админовском скрипте (файле) пишу:
PHP:
<?php
session_start();
if($_SESSION['autorized']<>1)
{
header("Location: ../index.php");
exit;
}
Не проглядел ли я чего ? И еще.. для админа хочу выделить определенное количество времени. Потом все по новой.