Организация авторизации и аутентификации

Dam

Guest
Организация авторизации и аутентификации

Уважаемые девелоперы.
По поводу авторизации много написано, я искал но так и не нашел ответа на вопрос: есть ли недостатки http-авторизации? Дело в том, что раньше я использовал именно эту авторизацию. Но проекты были простые, информация в них не такая важная, поэтому над вопросами авторизации я как-то особо не задумывался.
Для нового проекта я сначала прикрутил модуль PEAR/Auth, чтобы не писать свой (времени не так много, да и опыта). Однако этот модуль мне не очень понравился (слишком большой, он ведь предусматривает и работу на PHP старых версий). Поэтому вернулся к идее авторизации посредством http. Правда на этот раз нужно было ещё сделать аутентификацию. Аутентификацию я раньше не делал, но насколько понял алгоритм вкратце такой:
1. юзер авторизируется.
2. из базы делается выборка его прав.
3. данные загружаются в сессию и путешествуют по всем страницам админ-части.
4. при переходе на другую страницу в пределах админ-части, данные авторизации обновляются, и если время превышает столько-то минут сессия обнуляется
Не заблуждаюсь ли я? Правильно ли моё представление об авторизации и аутентификации?
 

ForJest

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

Фанат

oncle terrible
Команда форума
Dam
Во-первых, ты почему-то наделяешь слова "авторизации и аутентификации" каким-то особенным смыслом.
Считая, что авторизация - это НТТР, а аутентификации - это что-то еще.
Это не так.
Давай-ка ты без собственной забавной интерпретации объяснишь - что тебе надо и почему вдруг понадобилась "аутентификация" и чем перестала устраивать "авторизация".

ForJest
Пока у человека в головесистемные непонятки, НИКАКАЯ информация ему не поможет.
Он будет ее неправильно ИНТЕРПРЕТИРОВАТЬ, в силу своего понимания.
 

Dam

Guest
2Фанат
Авторизация нужна для того, чтобы юзер просто мог зайти в админ-часть, а аутентификация - чтобы определить ху из юзер, просто зарегеный пользователь или какой-нибудь там супер-админ.

Авторизация посредством передачи http-заголовков проще в осуществлении, вот её основное достоинство. Авторизацию посредством PHP я могу взять только готовую, как PEAR/Auth, поскольку времени уже осталось не так много, к тому же я не уверен что удастся с нуля написать "недырявый" скрипт авторизации. А с http-авторизацией намного всё проще.

Аутентификация нужна потому, что будут две группы пользователей: обычные и необычные :) (которые могут менять информацию о других пользователях). Точнее супер-пользователь будет только один (но это наверное неважно).

Может это и забавно, но я так это понимаю. Если я в чём-то ошибаюсь, пожалуйста поправь меня.

2ForJest
Спасибо за ссылки. Я вчера часа 2 потратил на поиск в форуме как раз тем со словом "авторизация", ничего не нашёл, может не те темы просмотрел. То, что мне нужно не нашёл. Щас ищу по твоей ссылке "прав...". Просто я не могу тратить весь день на поиски. По моей теме действительно не очень много в форуме. Обычно приводят свой какой-то код, говорят почему не работает. Мне же достаточно просто алгоритма, до остального я сам как-нибудь додумаюсь.

Если действительно http-авторизация не имеет существенных недостатков, буду использовать её, а аутентификацию надо будет ещё чуть-чуть продумать.
 

ForJest

- свежая кровь
Dam
Вообще была обширная тема. Попытаюсь её найти.
 

Фанат

oncle terrible
Команда форума
а аутентификацию надо будет ещё чуть-чуть продумать
при сспособе, который ты называешь "НТТР авторизацией", тебе при каждом запросе страницы надо лезть в базу, проверять логин и пароль.
какая проблема достать заодно и права и, таким образом, обеспечить то, что ты називаешь словом "Аутентификация"?
 

Dam

Guest
2ForJest
Спасибо

2Фанат
Пока додумался до такого варианта: будет 2 файла index.php и admin.php. В индекс-файле будет происходить авторизация и аутентификация, а в админ-файле будет проверяться значение одной сессионной переменной (зарегился пользователь или нет), а также провериться не истёк ли срок действия пароля.
И не нужно каждый раз лезть в базу - ведь вся информация в сессии, с другой стороны если пользователь долго будет "молчать" он автоматически разлогинится при следующем заходе и перенаправлен в index.php (сессия естественно будет обнулена).
Зачем каждый раз доставать права?
 

ForJest

- свежая кровь
В итоге нашёл по "авториза* AND SSL AND md5"
Кое-что есть и в избранном.
В целом лучше всего, когда ищешь через расширенный поиск сортировать по количеству просмотров - тогда сразу получишь наиболее популярные темы. :)
http://phpclub.ru/talk/showthread.php?s=&threadid=49043
http://phpclub.ru/talk/showthread.php?s=&threadid=25812
http://phpclub.ru/talk/showthread.php?s=&threadid=44930
И даже могу:
http://phpclub.ru/talk/showthread.php?s=&threadid=38068
:)
Попробуй ещё по "авториза* OR аунт* AND md5" поискать, только не забудь сортировку выставить. Потому что мусора реально много :).
 

Фанат

oncle terrible
Команда форума
И не нужно каждый раз лезть в базу - ведь вся информация в сессии
Если действительно http-авторизация не имеет существенных недостатков, буду использовать её
слушай, ты это... определился бы.
так какую авторизацию ты используешь, я никак не догоню - http или сессии?

ForJest
вот ты пристал, как банный лист.
ему сначала понять надо, что он хочет.
 

ForJest

- свежая кровь
Фанат
Это ты так понял, что ему нужно понять.
А он хочет видимо использовать окошечко браузера, а потом уже хранить всё в сессии.
Человек хочет знаний, а ты его долбишь понятиями. Разберётся, не маленький.
 

Dam

Guest
2ForJest
Ещё раз большое спасибо.

Фанат
Может быть вопрос покажется тебе дурацким, но всё же. Разве их нельзя использовать вместе? http-авторизацию я уже использовал несколько раз (без раздачи прав). Авторизовался пользователь или нет - эту инфу можно хранить в сессионной переменной. Чуть что не так - перекидывать его на индекс-файл с обнулённой сессией а индекс файл уже будет использовать http-авторизацию. Что не так?
 

Фанат

oncle terrible
Команда форума
Мне просто интересно, какой смысл делать два способа вместе.
зачем тебе http авторизация тогда - я не понял.
чтобы один раз окошко выкинуть?
Не проще Html форму нарисовать для тех же целей?

-~{}~ 14.10.04 21:18:

Чуть что не так - перекидывать его на индекс-файл с обнулённой сессией а индекс файл уже будет использовать http-авторизацию. Что не так?
то не так, что какой смысл тогда вообще в "перекидывании", если индексный файл, используя данные http-авторизации, автоматом юзера авторизует.
какой смысл в этих телодвижениях?
 

Dam

Guest
2Фанат
То есть ты предлагаешь всё производить в одном файле. Думаешь, так будет проще? А по поводу http-авторизации, так проще сделать не только мне, так обычно больше нравится заказчикам, в том месте где я живу (им почему то нравится когда выскакивает отдельное окно регистрации). К тому же это всего лишь 10-15 строчек кода, и не надо всяких проверок (кроме одной - есть ли пользователь в базе).
Это всё что следует изменить?
 

Фанат

oncle terrible
Команда форума
про файлы я вообще ничего не говорил.
Делай хоть в одном, хоть в 10. При чем здесь вообще количество файлов.
я говорю за принцип.
так обычно больше нравится заказчикам, в том месте где я живу (им почему то нравится когда выскакивает отдельное окно регистрации
Какие проблемы? сделай выскакивающее на яваскрипте окошко авторизации.
Все будет выглядеть точно так же и юзеры будут довольны.
А браузер зато не будет гонять на протяжениип всего сеанса логин с паролем.

Не умножай сущности без необходимости.
Ты сильно попортишь нервы себе или тому, кто будет разбираться с этим скриптом после.
Все должно быть логично.

Уговаривать тебя я, конечно, не буду, можешь сюда хоть куки пришпандорить, по завещанию своей прабабушки.
мое дело удивиться и предложить логичный, на мой взгляд вариант.
 

Dam

Guest
2Фанат
Хорошо, по поводу авторизации всё понятно. А что ты можешь сказать по поводу аутентификации. Можно кратко. То что я предложил - нормальный вариант? Могу расписать его поподробней.
 

jer

...
Dam

ты в терминах разберись для начала.

можешь мне объяснить разницу между авторизацией, аутентификацией и идентификацией?
 

Фанат

oncle terrible
Команда форума
jer
да объяснил он уже.
как понимает их по-своему. менять он все равно ничего не будет. Ну, не поймут его очередной раз. Я так понимаю, что это его не сильно волнует.
 

Dam

Guest
2jer
Почитай всё внимательно и с самого начала... Зачем мне объяснять тебе? Ты тоже не понимаешь? И что такое идентификация, какой-то новый термин?
Меня иногда поражает как просто некоторые люди дают советы.

2Фанат
Я конечно тебе благодарен.
ему сначала понять надо, что он хочет
менять он все равно ничего не будет
Я так понимаю, что это его не сильно волнует
Но всё же откуда такая уверенность? Такое чувство, что ты знаешь обо мне больше, чем я сам.
Если тебе не слишком трудно, пиши больше по теме, а не об авторе темы. О себе мне не очень интересно читать.
как понимает их по-своему
Кстати, можно было бы и своё определение дать. Это ведь не секрет.
Ну, не поймут его очередной раз
В очередной раз не понимаю, так ты меня всё-таки не понял. Я не по-русски писал, или слова были незнакомые?

2ForJest
Нашёл много полезного в тех ссылках, которые ты дал
 

Фанат

oncle terrible
Команда форума
Я не вижу смысла писать что-либо в эту тему.
А определение уж потрудись посмотреть в словаре самостоятельно.
 
Сверху