Вы не зашли.
    
        
        
                         #61.
            TLENS
                                                Off
                        #61.
            TLENS
                                                Off
                
                                                    (14)
                                                            
                        Moderator
                        2011.09.14 21:09
                                                
                                                        
 
                Но зачем расшифровывать, если можно просто вставить в заголовок c куками и произвести авторизацию.
Я имею в виду шифровать пароль для записи в куку
        
                            
                Отредактировано TLENS (2011.09.14 21:09)
            
        
                
     
        
        
        
                Ну я про куки не говорил, в куки пароль воопще незачем пихать, хоть зашифрованны, хоть незашифрованный. Для авторизации существуют сесси, они для этого и созданы, и нечего делать авторизацию на куках: возможностей меньше и защита меньше.
        
        
                
    
 
        
        
                Или я снова, как всегда, не понимаю сути, или...
Все таки так, потому что это будет в шапке. А параметры мы задали в авторизации.
Код:
| span style="color: #0000BB"><?php if (isset($_COOKIE['PHPSESSID'])) {        session_start();  } ?> | 
А так, при авторизации, если юзер нажмет запомнить.
Только вот сейчас вопрос возник, если юзер использовал сессию до истечения срока, например в 1 минуту, то удаление файла сессии снова отложится на 1440 сек или нет?
Код:
| span style="color: #0000BB"><?php//session_set_cookie_params(1440, '/', '.'.$_SERVER['HTTP_HOST'], false, true);ini_set('session.cookie_path', '/');ini_set('session.cookie_domain', '.'.$_SERVER['HTTP_HOST']);session_start();?> | 
                Отредактировано tipsun (2011.10.09 12:12)
            
        
                
     
        
        
                Давать пасс в куку (даже шифрованный) не есть айс. Как делаю я
1. При авторизации(успешной) в базу записыватся хеш(рандомный) для определённого юзера и этот же хеш даётся юзеру в куку
2. Если юзер покинул сайт (нажал выход) идёт уничтожение куки у юзера и смена хеш в базе на рандомный.
3. Пароль узнать невозможно и сменить тоже, даже если авторизация была успешной(если каким то макаром удалось своровать действуюбщий хеш), т.к. при смене попросит вести старый пароль.
Отсюда имеем у юзера нет хеша, а если он его сохранил он всёравно не подойдёт, т.к. при выходе скрипт скрипт сам поменял хеш. Если юзер боиться что его акк взломали просто нужно нажать выход и заново авторизироваться(хеш будет изменён)
Ну как так ))
        
        
                
    
 
        
        
                tipsun написал:
... Только вот сейчас вопрос возник, если юзер использовал сессию до истечения срока, например в 1 минуту, то удаление файла сессии снова отложится на 1440 сек или нет?
Время отсчитывается от последнеого обращения посетителя т.е. это время доступа к файлу, а не создания.
        
                            
                Отредактировано tipsun (2011.10.09 10:10)
            
        
                
     
        
        
                С механизмом запоминания наверно можно так поступить:
- при авторизации пользователь указывает сайту "запомни меня".
- сайт создает обычную сессию + куку, имя которой заносится в базу.
Если есть PHPSESSID у пользователя, значит не надо проверять куку.
Другое дело, если PHPSESSID есть, а файл сессии удалился...
Наверно проверить по куке и сгенерировать новый PHPSESSID.
Это я только сейчас додумался, точнее сама в голову пришла идея.
Хотя давно все так делают 

 100%
        
        
                
    
 
        
        
                можно еще при "запомни меня" время жизни сессии принудительно ставить большое.
        
        
                
    
 
        
        
                Получается session_id() в базу надо будет заносить.
Код напишу, выложу.
        
        
                
    
 
        
        
                Насчет сроков не посмотрел. Ну регерится с теми же сроками или нет.
Остальное за файлом/механизмом авторизации.
Код:
| span style="color: #0000BB"><?phpif (isset($_COOKIE['PHPSESSID'])) {    session_start();        if (! isset($_SESSION['SELF'])) {        //Запрос к БД о наличии заданной session_id()        //PHPSESSID=d65fjsmf8kc69ee8urb1glh855        //Можно было бы и SELECT COUNT(1) FROM `users` WHERE `PHPSESSID`='d65fjsmf8kc69ee8urb1glh855'; +- LIMIT 1;        //Но надо, наверно, вытащить какую-нибудь важную инфу, поэтому скорее всего...        //SELECT `uid` FROM `users` WHERE `PHPSESSID`='d65fjsmf8kc69ee8urb1glh855' LIMIT 1;        if (/*Подсчет кол-ва затронутых строчек*/) {            $_SESSION = array();            session_regenerate_id();            $_SESSION['SELF'] = true;            //выплевываем данные с массива базы в массив сессии...        } else {            //отрубить сессию, может быть.        }    }} | 
                Отредактировано tipsun (2012.02.10 19:07)