mr.GOD
Зарегистрирован: 19.11.03
Сообщения: 675
|
Добавлено: 01/05/04 в 21:18
|
|
Хотел бы услышать мнения по сабжу , программистов местных (проффесионалов) , куда не глянь в партнерках на платниках , везде авторизация через Апачу , может ли авторизация через сессии в пхп составить конкуренцию , если нет плиз объясните почему , я думаю что может, но возможно не знаю всех мелочей и реальных обстоятельств так сказать.Спасибо.
|
K началу
|
|
|
undef
Зарегистрирован: 15.09.03
Сообщения: 357
|
Добавлено: 01/05/04 в 21:41
|
|
Я так понимаю, что под авторизацией через Апач не имеется ввиду файлы .htpasswd итд. Тоесть авторизация просиходит все-таки через PHP который выдает header: 403 (не авторизирован) и клиенту предлагается ввести логин с паролем в стандартное окошко апача.
Это нормальный метод, за исключением того, что в некоторых брозерах может стоять галочка "сохранять пароли". В этом случае посторонний может войти в партнерку или куда то еще. Ну и еще из минусов - окошко это с авторизацией совсем кривое И еще не так то просто сделать функцию "выхода из системы". Кто писал такое - меня поймет
Теперь насчет сессий у PHP (session_start, session_init...). Я вообще не считаю, что их реализация хороша. Смысл их в том, что весь гемор с сессиями на себя берет PHP, а программеру остается тока написать session_start. Это в общем их главный минус. Я люблю полный контроль над происходящем, поэтому не использую такой вариант.
Сессии можно делать самому. По хорошему после каждого логина, юзеру генерится номер сессии (хранится в БД), и клиенту отдается либо кука с этим номером, либо номер прописывается в URL (как на старом mail.ru - хttp://mail.ru/НОМЕР_СЕССИИ/скрипт). Этот способ хорош тем, что настравивать эти сессии прогрмер может как хочет.. устанавливать время жизни, вести полную историю по входам-выходам. В идеальном случае лучше выдавать номер сессии через URL, потому что куки не у всех включены, да и есть способы украсть куку у пользователя в то время пока сессия еще не истекла. Через URL надежнее IMHO. Что и говорить, - с сессиями необходимо авторизовывать юзера по комбинации номер_сессии, ip_адрес (плюс всевозможные прокси сюда же) и по времени жизни сессии.
Если говорить о проблемах сессий, то диалапщики обладатели ящиков на yandex.ru меня поймут. Пишите вы письмо, долго долго (час, два), а потом рвется конект, и бляндекс вас попросит вежливо авторизоваться еще раз. Не факт, что недописаное письмо останется.
Вывод таков- для разных нужд используйте свои подходы. Если у вас сайтик в интранете, где вы обмениватесь сообщениями с сотрудниками, то можно авторизовывать Апачем (конечно с SSL-enabled). Если говорить о партнерках, то это дело предпочтения программиста. Если это огромный веб проект, то нада делать сессии, причем очень грамотно..
IMHO. Объяснил как смог
Последний раз редактировалось: 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
|
|
Спасибо ответы кто еще что может сказать по сабжу. Я наверно немного неверено поставил вопрос , во-первых по поводу безопасности хотелось бы узнать : хаку , подборке паролей и т.п. эти маханизмы одинаковы по возможности противостояния к этим делам ?если учесть со стороны сессий вышеописанные методы (ид сессии в базе, детект по ай-пи).
|
K началу
|
|
|
undef
Зарегистрирован: 15.09.03
Сообщения: 357
|
Добавлено: 01/05/04 в 22:05
|
|
mr.GOD писал: | Спасибо ответы кто еще что может сказать по сабжу. Я наверно немного неверено поставил вопрос , во-первых по поводу безопасности хотелось бы узнать : хаку , подборке паролей и т.п. эти маханизмы одинаковы по возможности противостояния к этим делам ?если учесть со стороны сессий вышеописанные методы (ид сессии в базе, детект по ай-пи). |
ну, кривые сессии можно очень легко написать -) они будут небезопасными и подвержеными всяческим атакам. Апачевская авторизация (хедер 403) вроде как дубовая, но от перебора паролей не защищена. Хотя это можно легко решить, в скрипте, который этот хедер шлет.
я бы делал так - грамотные сессии (куча проверок, смена ID сесии при каждом логине, хранятся либо в куках либо в URL (предпочтительнее) ) + SSL.
|
K началу
|
|
|
Grumbler
Зарегистрирован: 06.07.02
Сообщения: 117
|
Добавлено: 02/05/04 в 18:08
|
|
Теперь буду сказать я.
Сессии - это не схема автризации, а фича для хранения секурных данных о юзере на сервере. То бишь, мы защищены от того, что юзер попытается подделать данные для получения неавторизованного доступа, как может быть в случае с куками.
Рекомендую использовать сессии при авторизации посредством 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
|
|
Спасибо всем за высказанные мнения , теперь все понятно и сомнений не осталось по этому поводу . Ответы оценил ;)
|
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 - тут легче сам сервер взломать, чем столько гемороится. |
Как где-то я читал , дешевле будет нанять ребят для выноса сервера чем подобрать тот же ид сессиии.
|
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
|
|
Разве я где-то написал "подобрать"? И добыть 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 сессии , очень даже просто. |
Так собственно это я и писал...
может просто туманно сформулировал
С сессиями одна проблема - постоянно находятся юзеры у которых кукисы отключены, или их файервол блокирует. Есть конечно смышленные, котрые почитают FAQ и допрут, что надо делать, но попадаются и редкостные подарки С другой стороны, как поставлю обычную авторизацию, уже через пару дней по логам вижу, что какие-то умники пароли подбирают.
|
K началу
|
|
|
undef
Зарегистрирован: 15.09.03
Сообщения: 357
|
Добавлено: 05/05/04 в 14:20
|
|
DeBirs писал: | IMHO, есть два серьезных недостатка Апаче-авторизации, которые можно обойти, используя свои скрипты авторизации на PHP, а именно -неспособность отразить такие вещи как перебор пароля и использование одного логина с нескольких машин. |
неправда, очень даже можно от этого защитится. просто это будет уже грязный хак
|
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 писал: | неправда, очень даже можно от этого защитится. просто это будет уже грязный хак |
Не правда ваша. Это может быть самый, что ни на есть, чистейший и опрятнейший законный block401.cgi, например... Который будет "нежно" ухаживать за твоим .htaccess. Так сказать, самый простой способ, что бы на более сложные не заморачиваться. Причем, вебмастер сайта вообще может ничего не знать об этой фиче - а надо оно ему?
|
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 При этом авторизация таки остается за апачем... но брутфорс и мультилогин глушится. |
ну вот так всегда получается - не знаешь как работает, плати бабок
|
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 по результату - то фиг кто подберет Я даже знаю как кое-кто ;) так междоменную аутентификацию построил.
Цитата: | Если в алгоритме использовать какие-то персонифицированные данные из базы, то да, восстановить будет скорее невозможно. Но мы опять пришли к тому, что дергаем базу. |
Не обязательно. Это же можно кэшировать в shared memory - реально аутентифицированных юзеров на сайте одновременно весьма ограниченное количество.
|
K началу
|
|
|
mr.GOD
Зарегистрирован: 19.11.03
Сообщения: 675
|
Добавлено: 20/05/04 в 03:25
|
|
DeBirs писал: | Гм, это интересно... А бывают проблемы с юзерами, у которых кукисы запрещены? И как вообще, хорошо это работает? А то у меня при авторизации через РНР-сессии постоянно появляются подарки, которые не понимают, как кукисы включить, и жалуются, что не могут залогинться. |
если куки вырублены можно ведь через адресную строку ид сессии протащить и будет тебе щастье
Цитата: | А вот для закрытия контента она не очень подходит. Ибо выдавать картинки из PHP скрипта не слишком рационально на мой взгляд. |
Ну тут я согласен что проще применить htaccess будет для закрытия контента.
|
K началу
|
|
|
Kosyan
Зарегистрирован: 07.01.03
Сообщения: 67
|
Добавлено: 20/05/04 в 19:42
|
|
Беда большинства "авторизаций на ПХП" в том, что програмер ленится и хранит логин и пасс в мускуле. В этом случае форма ввода паролей является дверкой для получения рута в мускуль. Технология мне не известна, но знакомые кулхацкеры продолжеют успешно ей пользоваться.
Кроме того, эти "умные формы" с неменьшим успехом брутятся, разве что чуть подольше нежли бэйсик авторизэйшн.
И вообще, удобство в программировании всегда обратнопропорционально устойчивости и надежности. Поэтому, не жалейте своих програмеров, пинайте, заставляйте и всячески отучайте их пользоваться книжными ходам и удобными способами.
|
K началу
|
|
|