|
|
|
| Здравствуйте, начнём с того что я студент, и опыта программирования на PHP у меня не так много как хотелось бы. Сейчас я разрабатываю CMS, она специально заточена для преподавателя. Пробалема у меня возникла с авторизацией, как её лучше сделать. Ведь мне нужно чтобы при выходе из браузера или по истечению определённого времени, если челокек не вышел из браузера, система "забывала" кто он такой и не давала ему совершать никакие действия, то есть не пускала его, при этом запрашивая пароль... Как это лучше слелать с помощью куков или сессий.. И я ещё слышал про функцию md5, стоит ли её использовать??? | |
|
|
|
|
|
|
|
для: Icen
(07.03.2007 в 12:15)
| | md5() надо использовать, они шифрует пароли...
на счёт авторизации, для этого тогда надо использовать СЕСИИ. А проверка на то соклько пользователя не было можно сделать так:
<?
mysql_query("DELETE FROM online WHERE time < NOW() - INTERVAL '20' MINUTE"); // Удаляем если пользователь был енактивен 20 минут
//Проверяем ИП и если такое есть, то обновить время на то, которое сейчас
$update_zapis = mysql_query("SELECT * FROM online WHERE ip='".$_SERVER['REMOTE_ADDR']."'");
if(mysql_num_rows($update_zapis) == 1)
{
$now = time();
mysql_query("UPDATE online SET time=NOW(),
lastactivity='".$now."'
WHERE ip='".$_SERVER['REMOTE_ADDR']."'");
mysql_query("UPDATE $db_onliners_table SET lastactivity='$now' WHERE login='".$_SESSION['login']."'");
}
else
{
session_unregister("login");
session_unregister("pass");
}
?>
|
Думаю значения понятны... Талица ONLINE - это таблица в корой находятся юзеры онлайн, мы проверяем есть ли там юзер с таким айпишником как у пользователя, если есть, то обновляем запись, если нету, то просто очищаем СЕССИЮ с паролем и логином... Ну и еще ставим проверку, что бы все записи с активностью меньше 20 минут удалялись (собствено тогда и очистится сессия) | |
|
|
|
|
|
|
|
для: Icen
(07.03.2007 в 12:15)
| | Спасибо большое.. У меня есть ещё один вопросик, как вызывать функцию которая бы постоянно отслеживала состояние активности? в каждом .php файле? | |
|
|
|