Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: План (псевдокод) механизма авторизации и идентификации пользователя на сайте.
 
 автор: SilentChild   (27.04.2011 в 13:05)   письмо автору
 
 

Здравствуйте, уважаемые программисты!

Впервые для себя взялся за создание механизма авторизации и идентификации пользователя на сайте. Ниже приведен псевдокод. Подскажите, есть ли в нём что-то ненужное, какие-либо недочёты, можно ли что-то добавить?




***** ВЫХОД с сайта / УНИЧТОЖЕНИЕ СЕССИИ ***** 
Код выхода с сайта должен быть выполнен прежде, чем начнётся выполнение основного кода.
Чтобы пользователь не видел себя авторизованным после того, как нажмет кнопку "ВЫХОД", нужно 
уничтожить переменные сессии $username и $password до того, как код программы выведет их значения на экран.
если ( была нажата кнопка "ВЫХОД" ) {
    - открываем сессию
    - разыменовываем переменные сессии ($username и $password)
    - разрушаем сессию
    - проверяем вкл./выкл. поддержка cookie браузером на пользовательской машине
      (!без понятия пока, как это сделать)  
      если ( cookie включены ) {   
          уничтожаем cookie-файлы c именем и паролем пользователя
      }
}  
  
  


  
  
***** ОТКРЫТИЕ СЕССИИ: *****
открываем сессию    
    
    ***** АВТОРИЗАЦИЯ: *****
    Код авторизации пользователя должен быть выполнен до того, как будет просмотрен массив $_SESSION,
    т.к. данные (логин и пароль) в этот массив должны записаться заранее.
    ecли ( пользователь отправил свои данные для авторизации, т.е. логин и пароль ) {
        1. проверить на корректность введенные данные
        2. сверить полученные от пользователя данные с базой данных зарегистрированных пользователей
           если (пользователь зарегистрирован ) {
                         
               3. записываем пользовательские имя и пароль в переменные $_SESSION['username'] и 
                  $_SESSION['password'] соответственно (эти переменные уже будут зарегистрированы в
                  сессии, т.к. основной код сайта успеет выполниться хотябы один раз перед тем, как пользователь
                  произведет авторизацию, поэтому регистрировать переменные в сессии не нужно)
               4. проверяем вкл./выкл. поддержка cookie браузером на пользовательской машине
                  (!без понятия пока, как это сделать)  
                  если ( cookie включены ) {
                      записать имя и пароль в cookie-переменные c именами username и password соответственно
                  }
           }          
    }
    !!!
    Дабы избежать повторной авторизации при обновлении страницы кнопкой F5 или еще каким-то способом,
    (т.е. повторной отправки данных формы) присваиваем переменной
    POST['authorization'], идентифицирующей отправку формы авторизации, значение 'false'
      
если ( массив $_SESSION не пуст, т.е. определен ) {
    извлекаем из него значения 'username' и 'password'
    записываем их в переменные $username и $password
} в противном случае {
    - регистрируем в сессии переменные username и password без присваивания им каких-либо значений
    - извлекаем из ассоциативного массива $_SESSION значения username и password
    - записываем их в переменные $username и $password
    - проверяем вкл./выкл. поддержка cookie браузером на пользовательской машине
      (!без понятия пока, как это сделать)
      если ( cookie включены ) {         
          если ( существуют cookie-значения с именами username и password ) {
              - записываем их в переменные $_SESSION['username'] и $_SESSION['password'] cоответственно
              - присваиваем переменным $username и $password значения переменных $_SESSION['username']
              и $_SESSION['password']
          }
      }
}
теперь у нас есть переменные $username и $password доступные в любой точке программы 


***** Дальше идет код самого сайт, который использует переменные $username и $password  *****

  Ответить  
 
 автор: Slo_Nik   (27.04.2011 в 14:10)   письмо автору
 
   для: SilentChild   (27.04.2011 в 13:05)
 

[поправлено модератором]

  Ответить  
 
 автор: SilentChild   (27.04.2011 в 16:29)   письмо автору
 
   для: Slo_Nik   (27.04.2011 в 14:10)
 

Спасибо! =)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования