parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

авторизация Мнов (в смысле много меня) = )

redactor 02.04.2003 18:29

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

Но я это делаю примерно так:
Сначала авторизация РедАктора

Берешь базу (у меня - МУскул)
в ней таблица Админ
CREATE TABLE `admin` (
  `id` int(5) unsigned NOT NULL auto_increment, #
  `login` varchar(40) default NULL,             #ЛОгин РедАктора
  `passwd` varchar(255) default NULL,           #Его пароль
  `session` varchar(50) default NULL,           #Сюда писать сессионную куку
  `last_time` date default NULL,                #Здесь хранить время последнего визита
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`),
  KEY `id_2` (`id`)
) TYPE=MyISAM;
потом, когда юзер логинится проверяешь есть ли такой логин, если есть, то проверяешь похож ли его парол на тот хэш, который лежит в базе (Батько ПАФ сказал не хранить НИ ВКОЕМ СЛУЧаЕ пароль в открытом виде, советую слушаться Мудрых советов)
если все нашлось и совпало - создаешь рендомом + крипт Во-о-о-о-от такое число и пишешь его в базу и клиенту в Сессионный Куки (хранится ддо тех пор, пока не закроешь браузер)

Потом нижеприведенным проверяешь так
^is_redactor[секретная инфа;пусто]
@is_redactor[OK;NOTOK]
^if(def $cookie:admin && def $cookie:ps_session){
^connect[$connect_string]{ 
$user[^table::sql{select session from admin where login='$cookie:shop'}]

^if($cookie:ps_session eq $user.session){

$OK


}{
$NOTOK
}
}
}{
#NO cookie

$NOTOK

}
Это у меня работает на внутреннем сайте а на внешних я еще добавляю проверку времени аоследнего визита - если прошло больше какого-то времени - не пускаю без повторной авторизации.



Надеюсь хоть чем-то помог.
Redactor