Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
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[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 }Это у меня работает на внутреннем сайте а на внешних я еще добавляю проверку времени аоследнего визита - если прошло больше какого-то времени - не пускаю без повторной авторизации.