Реклама на сайте Advertise with us
Тема: Авторизация Apache VS PHP SESSIONS ? Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе mr.GOD


Зарегистрирован: 19.11.03
Сообщения: 675
Ссылка на сообщениеДобавлено: 01/05/04 в 21:18     

Хотел бы услышать мнения по сабжу , программистов местных (проффесионалов) , куда не глянь в партнерках на платниках , везде
авторизация через Апачу , может ли авторизация через сессии в пхп составить конкуренцию , если нет плиз объясните почему icon_smile.gif , я думаю что может, но возможно не знаю всех мелочей и реальных обстоятельств так сказать.Спасибо.

K началу

 
Информация о пользователе undef


Зарегистрирован: 15.09.03
Сообщения: 357
Ссылка на сообщениеДобавлено: 01/05/04 в 21:41     

Я так понимаю, что под авторизацией через Апач не имеется ввиду файлы .htpasswd итд. Тоесть авторизация просиходит все-таки через PHP
который выдает header: 403 (не авторизирован) и клиенту предлагается ввести логин с паролем в стандартное окошко апача.

Это нормальный метод, за исключением того, что в некоторых брозерах может стоять галочка "сохранять пароли". В этом случае посторонний может войти в партнерку или куда то еще.
Ну и еще из минусов - окошко это с авторизацией совсем кривое icon_smile.gif И еще не так то просто сделать функцию "выхода из системы". Кто писал такое - меня поймет icon_smile.gif

Теперь насчет сессий у PHP (session_start, session_init...). Я вообще не считаю, что их реализация хороша. Смысл их в том, что весь гемор с сессиями на себя берет PHP, а программеру остается тока написать session_start. Это в общем их главный минус. Я люблю полный контроль над происходящем, поэтому не использую такой вариант.

Сессии можно делать самому. По хорошему после каждого логина, юзеру генерится номер сессии (хранится в БД), и клиенту отдается либо кука с этим номером, либо номер прописывается в URL (как на старом mail.ru - хttp://mail.ru/НОМЕР_СЕССИИ/скрипт).
Этот способ хорош тем, что настравивать эти сессии прогрмер может как хочет.. устанавливать время жизни, вести полную историю по входам-выходам.
В идеальном случае лучше выдавать номер сессии через URL, потому что куки не у всех включены, да и есть способы украсть куку у пользователя в то время пока сессия еще не истекла. Через URL надежнее IMHO.
Что и говорить, - с сессиями необходимо авторизовывать юзера по комбинации номер_сессии, ip_адрес (плюс всевозможные прокси сюда же) и по времени жизни сессии.

Если говорить о проблемах сессий, то диалапщики обладатели ящиков на yandex.ru меня поймут. Пишите вы письмо, долго долго (час, два), а потом рвется конект, и бляндекс вас попросит вежливо авторизоваться еще раз. Не факт, что недописаное письмо останется.

Вывод таков- для разных нужд используйте свои подходы. Если у вас сайтик в интранете, где вы обмениватесь сообщениями с сотрудниками, то можно авторизовывать Апачем (конечно с SSL-enabled). Если говорить о партнерках, то это дело предпочтения программиста. Если это огромный веб проект, то нада делать сессии, причем очень грамотно..


IMHO. Объяснил как смог icon_smile.gif

Последний раз редактировалось: undef (01/05/04 в 21:52), всего редактировалось 1 раз

K началу

 
Информация о пользователе Stek


Зарегистрирован: 24.10.02
Сообщения: 1613
Ссылка на сообщениеДобавлено: 01/05/04 в 21:50     

Авторизация апачем более простая и быстрая.
php сессиями геморойней, но более гибче. Вобщем кому как нравится. Я везде сессии стараюсь использовать.

K началу

 
Информация о пользователе mr.GOD


Зарегистрирован: 19.11.03
Сообщения: 675
Ссылка на сообщениеДобавлено: 01/05/04 в 21:55     

Спасибо ответы icon_smile.gif кто еще что может сказать по сабжу.
Я наверно немного неверено поставил вопрос , во-первых по поводу безопасности хотелось бы узнать : хаку , подборке паролей и т.п.
эти маханизмы одинаковы по возможности противостояния к этим делам ?если учесть со стороны сессий вышеописанные методы (ид сессии в базе, детект по ай-пи).

K началу

 
Информация о пользователе undef


Зарегистрирован: 15.09.03
Сообщения: 357
Ссылка на сообщениеДобавлено: 01/05/04 в 22:05     

mr.GOD писал:
Спасибо ответы icon_smile.gif кто еще что может сказать по сабжу.
Я наверно немного неверено поставил вопрос , во-первых по поводу безопасности хотелось бы узнать : хаку , подборке паролей и т.п.
эти маханизмы одинаковы по возможности противостояния к этим делам ?если учесть со стороны сессий вышеописанные методы (ид сессии в базе, детект по ай-пи).


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

я бы делал так - грамотные сессии (куча проверок, смена ID сесии при каждом логине, хранятся либо в куках либо в URL (предпочтительнее) ) + SSL.

K началу

 
Информация о пользователе Grumbler


Зарегистрирован: 06.07.02
Сообщения: 117
Ссылка на сообщениеДобавлено: 02/05/04 в 18:08     

Теперь буду сказать я. icon_smile.gif

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

Рекомендую использовать сессии при авторизации посредством PHP для того, чтобы не дергать базу на каждый запрос юзера(про то, чтобы не хранить данные об авторизации в куке, я уже выше написал). В сессии храним инфу об авторизации, и работа скрипта значительно ускоряется.

А метод авторизации через Basic-Auth или ввод пароля в форме в этом конкретном случае никаких различий не имеет(различие только в самом окошке где пароль вводится).

K началу

 
Информация о пользователе mr.GOD


Зарегистрирован: 19.11.03
Сообщения: 675
Ссылка на сообщениеДобавлено: 02/05/04 в 19:35     

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

K началу

 
Информация о пользователе perlmaster


Зарегистрирован: 27.02.03
Сообщения: 674
Ссылка на сообщениеДобавлено: 02/05/04 в 22:54     

Почти всегда пишу собственный код управления сессиями, авторизации и т.п.
Ничего сложного в нем нет, а когда есть наработки - вообще элементарно.
Вариантов в общем-то всего 3 (не считая комбинированных и апачи):
- сессия на основе ip. Безопасность не на высоте (с того же ip будет видно все еще некоторое время), но и сломать вообще-то нельзя, только случаи когда сразу за юзером юзают юзерский комп или совпадения диалаповских ip у провайдера. На массовых сервисах по этой причине лучше не юзать. Ну и конечно при разрыве накрывается пиздой - тоже неприятно.
- сессия через куки. Самый реальный вариант, последнее время в основном только его юзаю. Соответствующими настройками достигается хорошая безопасность, подделать даже 10-буквенный ид в куке нереально.
- сессия через урлу. То же что и с куками, но юзается mod_rewrite или path (я обычно второе юзаю - удобнее). Самый рабочий вариант, но минусы в том что остаются урлу в логах (правда кто-то и куки ухиряется логить) и немного коверкает адрес.

Впрочем, это от конкретных целей зависит, что лучше. Где безопасность - там ssl со всякими-всякими фичами, а где мало значит приватность или просто юзеры с мозгами ходят - можно спокойно использовать более простые методы.

K началу

 
Информация о пользователе mr.GOD


Зарегистрирован: 19.11.03
Сообщения: 675
Ссылка на сообщениеДобавлено: 02/05/04 в 23:26     

Спасибо всем за высказанные мнения icon_smile.gif , теперь все понятно и сомнений не осталось по этому поводу . Ответы оценил ;)

K началу

 
Информация о пользователе sAx


Зарегистрирован: 07.06.00
Сообщения: 2252
Ссылка на сообщениеДобавлено: 03/05/04 в 04:18     

К вышесказанному еще добавлю:
Куку (да и вообще любую инфу, за которую беспокоишься) нереально подделать, если добавить туда еще собственным способом подсчитанное ЦРЦ по переменным, загоняемым в куку.
Т.е. загоняешь в длинную строку все переменные и значения, считаешь контрольную сумму (с длинным salt-ом) по строке. Загоняешь эту переменную тоже в куку. Обратное действие понятно.

K началу

 
Информация о пользователе Grumbler


Зарегистрирован: 06.07.02
Сообщения: 117
Ссылка на сообщениеДобавлено: 03/05/04 в 18:30     

sAx, я бы так категорично не утверждал.
Имея 10 вариантов строк с соответствующими crc, можно создать алгоритм(отличный от твоего, но тем не менее он будет работать). Конечно, работа не для лоха, но возможность имеется.

Если в алгоритме использовать какие-то персонифицированные данные из базы, то да, восстановить будет скорее невозможно. Но мы опять пришли к тому, что дергаем базу.

K началу

 
Информация о пользователе sAx


Зарегистрирован: 07.06.00
Сообщения: 2252
Ссылка на сообщениеДобавлено: 03/05/04 в 21:05     

Grumbler писал:
sAx, я бы так категорично не утверждал.
Имея 10 вариантов строк с соответствующими crc, можно создать алгоритм(отличный от твоего, но тем не менее он будет работать). Конечно, работа не для лоха, но возможность имеется.

В том-то и прикол, что один ЦРЦ на все переменные и значения, т.е. на строку из этого всего.
Алгоритм-то обхода создать можно... но:
- подобрать последовательность переменных;
- подобрать алгоритм не имея статистики (один ЦРЦ)
Почти нереальная задача. Т.о. стойкость к взлому повышается на порядок и возможно просто теряет смысл.

K началу

 
Информация о пользователе Stek


Зарегистрирован: 24.10.02
Сообщения: 1613
Ссылка на сообщениеДобавлено: 03/05/04 в 21:54     

Подобрать crc или md5 - тут легче сам сервер взломать, чем столько гемороится.

K началу

 
Информация о пользователе mr.GOD


Зарегистрирован: 19.11.03
Сообщения: 675
Ссылка на сообщениеДобавлено: 04/05/04 в 00:27     

Stek писал:
Подобрать crc или md5 - тут легче сам сервер взломать, чем столько гемороится.


Как где-то я читал , дешевле будет нанять ребят для выноса сервера icon_smile.gif чем подобрать тот же ид сессиии.

K началу

 
Информация о пользователе DeBirs


Зарегистрирован: 18.03.04
Сообщения: 32
Ссылка на сообщениеДобавлено: 04/05/04 в 00:40     

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

K началу

 
Информация о пользователе lega_cobra


Зарегистрирован: 21.09.03
Сообщения: 371
Ссылка на сообщениеДобавлено: 04/05/04 в 00:45     

DeBirs писал:
IMHO, есть два серьезных недостатка Апаче-авторизации, которые можно обойти, используя свои скрипты авторизации на PHP, а именно -неспособность отразить такие вещи как перебор пароля и использование одного логина с нескольких машин.


А в чем трудность, собственно говоря? Чем именно скрип-аутентификация может тут помочь?

K началу

 
Информация о пользователе Grumbler


Зарегистрирован: 06.07.02
Сообщения: 117
Ссылка на сообщениеДобавлено: 05/05/04 в 02:17     

Разве я где-то написал "подобрать"? smail25.gif
И добыть 10 вариантов не проблема - у тебя ведь публичная система.

K началу

 
Информация о пользователе mr.GOD


Зарегистрирован: 19.11.03
Сообщения: 675
Ссылка на сообщениеДобавлено: 05/05/04 в 04:07     

DeBirs писал:
IMHO, есть два серьезных недостатка Апаче-авторизации, которые можно обойти, используя свои скрипты авторизации на PHP, а именно -неспособность отразить такие вещи как перебор пароля и использование одного логина с нескольких машин.


ну не знаю как используя "Апаче авторизацию" можно обойти перебор пароля и мультилогин, но используя PHP сессии , очень даже просто.

K началу

 
Информация о пользователе DeBirs


Зарегистрирован: 18.03.04
Сообщения: 32
Ссылка на сообщениеДобавлено: 05/05/04 в 13:12     

mr.GOD писал:
ну не знаю как используя "Апаче авторизацию" можно обойти перебор пароля и мультилогин, но используя PHP сессии , очень даже просто.


Так собственно это я и писал...

может просто туманно сформулировал icon_smile.gif

С сессиями одна проблема - постоянно находятся юзеры у которых кукисы отключены, или их файервол блокирует. Есть конечно смышленные, котрые почитают FAQ и допрут, что надо делать, но попадаются и редкостные подарки icon_smile.gif
С другой стороны, как поставлю обычную авторизацию, уже через пару дней по логам вижу, что какие-то умники пароли подбирают.

K началу

 
Информация о пользователе undef


Зарегистрирован: 15.09.03
Сообщения: 357
Ссылка на сообщениеДобавлено: 05/05/04 в 14:20     

DeBirs писал:
IMHO, есть два серьезных недостатка Апаче-авторизации, которые можно обойти, используя свои скрипты авторизации на PHP, а именно -неспособность отразить такие вещи как перебор пароля и использование одного логина с нескольких машин.


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

K началу

 
Информация о пользователе Adept


Зарегистрирован: 21.04.04
Сообщения: 23
Ссылка на сообщениеДобавлено: 08/05/04 в 01:52     

Если реализовать нормально можешь, в смысле без корявости, то конечно PHP лучше, даёт больше контроля над авторизацией.

K началу

 
Информация о пользователе lega_cobra


Зарегистрирован: 21.09.03
Сообщения: 371
Ссылка на сообщениеДобавлено: 08/05/04 в 01:57     

DeBirs писал:
С другой стороны, как поставлю обычную авторизацию, уже через пару дней по логам вижу, что какие-то умники пароли подбирают.


Вопрос на засыпку - а почему не защищаешь от подбора паролей? 5 попыток - и нафиг в бан IP. На часик-другой.

K началу

 
Информация о пользователе lega_cobra


Зарегистрирован: 21.09.03
Сообщения: 371
Ссылка на сообщениеДобавлено: 08/05/04 в 02:02     

alx2 писал:
неправда, очень даже можно от этого защитится. просто это будет уже грязный хак icon_smile.gif


Не правда ваша. Это может быть самый, что ни на есть, чистейший и опрятнейший законный block401.cgi, например... Который будет "нежно" ухаживать за твоим .htaccess. Так сказать, самый простой способ, что бы на более сложные не заморачиваться.
Причем, вебмастер сайта вообще может ничего не знать об этой фиче - а надо оно ему? icon_smile.gif

K началу

 
Информация о пользователе ivango


Зарегистрирован: 09.11.02
Сообщения: 1829
Ссылка на сообщениеДобавлено: 08/05/04 в 02:48     

mr.GOD писал:
ну не знаю как используя "Апаче авторизацию" можно обойти перебор пароля и мультилогин


Я не знаю, как, но факт... можно. У меня есть скрипт покупной,
который это делает... там cgi-шка, и к ней на 2 экрана инструкций к модулям апача, и всё это хозяйство вставляется в virtual.conf
При этом авторизация таки остается за апачем... но брутфорс и мультилогин глушится.

K началу

 
Информация о пользователе undef


Зарегистрирован: 15.09.03
Сообщения: 357
Ссылка на сообщениеДобавлено: 10/05/04 в 06:47     

ivango писал:
Я не знаю, как, но факт... можно. У меня есть скрипт покупной,
который это делает... там cgi-шка, и к ней на 2 экрана инструкций к модулям апача, и всё это хозяйство вставляется в virtual.conf
При этом авторизация таки остается за апачем... но брутфорс и мультилогин глушится.


ну вот так всегда получается - не знаешь как работает, плати бабок icon_smile.gif

K началу

 
Информация о пользователе DeBirs


Зарегистрирован: 18.03.04
Сообщения: 32
Ссылка на сообщениеДобавлено: 13/05/04 в 15:42     

ivango писал:
Я не знаю, как, но факт... можно. У меня есть скрипт покупной, который это делает...
авторизация таки остается за апачем... но брутфорс и мультилогин глушится.


Гм, это интересно...
А бывают проблемы с юзерами, у которых кукисы запрещены? И как вообще, хорошо это работает?

А то у меня при авторизации через РНР-сессии постоянно появляются подарки, которые не понимают, как кукисы включить, и жалуются, что не могут залогинться.

K началу

 
Информация о пользователе begemot


Зарегистрирован: 25.12.03
Сообщения: 172
Ссылка на сообщениеДобавлено: 13/05/04 в 16:09     

DeBirs писал:
А то у меня при авторизации через РНР-сессии постоянно появляются подарки, которые не понимают, как кукисы включить, и жалуются, что не могут залогинться.


это очень странно, у тебя наверное кукисная PHP-сессия.
есть сессия, которая передается через идентификатор в ссылках, вот она не зависит от кук.

K началу

 
Информация о пользователе lega_cobra


Зарегистрирован: 21.09.03
Сообщения: 371
Ссылка на сообщениеДобавлено: 13/05/04 в 18:29     

DeBirs писал:
Гм, это интересно...
А бывают проблемы с юзерами, у которых кукисы запрещены? И как вообще, хорошо это работает?
А то у меня при авторизации через РНР-сессии постоянно появляются подарки, которые не понимают, как кукисы включить, и жалуются, что не могут залогинться.


При кукисной авторизации всегда можно свалиться назад к базовой, если у юзера куки выключены.

K началу

 
Информация о пользователе lega_cobra


Зарегистрирован: 21.09.03
Сообщения: 371
Ссылка на сообщениеДобавлено: 13/05/04 в 18:33     

begemot писал:
это очень странно, у тебя наверное кукисная PHP-сессия.
есть сессия, которая передается через идентификатор в ссылках, вот она не зависит от кук.


PHP-сесия работает хорошо, когда весь контент генерится динамически из PHP. Или когда аутентификация требуется для ограничения функций пользователя (например, без аутентификации не авторизуем для поста мессаг в форуме).

А вот для закрытия контента она не очень подходит. Ибо выдавать картинки из PHP скрипта не слишком рационально на мой взгляд.

K началу

 
Информация о пользователе Dr.Syshalt


Зарегистрирован: 14.05.04
Сообщения: 145
Ссылка на сообщениеДобавлено: 14/05/04 в 03:14     

Grumbler писал:
sAx, я бы так категорично не утверждал.
Имея 10 вариантов строк с соответствующими crc, можно создать алгоритм(отличный от твоего, но тем не менее он будет работать). Конечно, работа не для лоха, но возможность имеется.


А если ты к нему прилепишь в конец подпись, поXORив его с известной только тебе строкой, и прогнав MD5 по результату - то фиг кто подберет icon_smile.gif Я даже знаю как кое-кто ;) так междоменную аутентификацию построил.

Цитата:

Если в алгоритме использовать какие-то персонифицированные данные из базы, то да, восстановить будет скорее невозможно. Но мы опять пришли к тому, что дергаем базу.


Не обязательно. Это же можно кэшировать в shared memory - реально аутентифицированных юзеров на сайте одновременно весьма ограниченное количество.

K началу

 
Информация о пользователе mr.GOD


Зарегистрирован: 19.11.03
Сообщения: 675
Ссылка на сообщениеДобавлено: 20/05/04 в 03:25     

DeBirs писал:
Гм, это интересно...
А бывают проблемы с юзерами, у которых кукисы запрещены? И как вообще, хорошо это работает?
А то у меня при авторизации через РНР-сессии постоянно появляются подарки, которые не понимают, как кукисы включить, и жалуются, что не могут залогинться.


если куки вырублены можно ведь через адресную строку ид сессии протащить и будет тебе щастье icon_smile.gif

Цитата:
А вот для закрытия контента она не очень подходит. Ибо выдавать картинки из PHP скрипта не слишком рационально на мой взгляд.


Ну тут я согласен что проще применить htaccess будет для закрытия контента.

K началу

 
Информация о пользователе Kosyan


Зарегистрирован: 07.01.03
Сообщения: 67
Ссылка на сообщениеДобавлено: 20/05/04 в 19:42     

Беда большинства "авторизаций на ПХП" в том, что програмер ленится и хранит логин и пасс в мускуле. В этом случае форма ввода паролей является дверкой для получения рута в мускуль. Технология мне не известна, но знакомые кулхацкеры продолжеют успешно ей пользоваться.

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

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

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »