Forum Webscript.Ru

Программирование => PHP => Тема начата: ERROR 404 от 25 Января 2002, 11:43:24

Название: Авторизация пользователей
Отправлено: ERROR 404 от 25 Января 2002, 11:43:24
Хочу спросить совета, как лучше сделать авторизацию пользователей на сайте, чтобы в зависимости от логина редиректил в определенный каталог, с правами доступа только туда,  а если юзер ручками подправит URL с целью влезть  в чужой каталог - строго грозил ему пальцем :-)

-----------------
Ну теперь, собственно говоря, соображения:

1.юзер, вводя логин/пароль в форме на странице, не защищенной htaccess\'ом
попадал редиректом в директорию, защищенную htaccess\'ом уже без открытия
стандартного окошка авторизации

Вопрос знатокам: Можно ли это реализовать, если можно, то как?

2.Вести базу зарегистрированных пользователей в текстовом файле вида:   логин|пароль|разрешенный каталог

Юзер вводит л/п - PHP шарит по базе - ищет логин - если находит сравнивает с паролем - если все OK - PHP делает вот так :super: и редиректит в указанную директорию.
А если юзер полезет напрямую в этот каталог не пройдя авторизацию то :abuse:

-------------------------------------

какие соображения будут у спецов?
Название: Авторизация пользователей
Отправлено: Oak от 25 Января 2002, 17:36:51
Da. redirect na
  http://user:pass@host/secret/dir/
Название: Авторизация пользователей
Отправлено: Britva от 25 Января 2002, 17:54:48
Oak
но тогда он может сохраниться в истории. Интересно, можно ли не через урл, а каким-нибудь другим способом.
можно конечно все время удалять историю и т.п. :)
Название: Авторизация пользователей
Отправлено: Oak от 25 Января 2002, 18:19:28
А какая разница то? Кому надо - тот и так отловит и usre и pass
Название: Авторизация пользователей
Отправлено: Britva от 25 Января 2002, 19:32:09
Да вобщем-то действительно никакой. тоже самое, что запоминать пароль к дайл-апу (ну почти)
Название: Авторизация пользователей
Отправлено: Oak от 26 Января 2002, 05:05:56
Уговорил :)
Если такой подход к делу - то только сесии тут и помогут.
  (всмысле не ты один пользуешься доступом к компу = своим логином)
Название: Авторизация пользователей
Отправлено: Tankist от 26 Января 2002, 08:26:32
Я, например использую cookie...
Название: Авторизация пользователей
Отправлено: Britva от 26 Января 2002, 13:35:50
Цитировать
Я, например использую cookie...

А я, например, сессии :)) т.к. они и так уже куки используют и работают надежнее, потому что если юзер куки отключил, то сессии будут продолжать работать...

Oak
Сессии здесь не очень хороший выход, т.к., например, в директории куча поддиректорий, куча файлов, причем, например, не только html, а gif, например. и во все вставлять проверку на сессии.... это ж опухнешь :):)

Есть еще соображения?
Название: Авторизация пользователей
Отправлено: Oak от 26 Января 2002, 15:14:49
Есть - стукнуть тебя по голове, чтобы ты перестал думать, что http:// с указанным login + pass - это плохо ;)  Можешь этот pass генерить рандомом на один день (или даже=меньше) и править .htaccess раз в=день.
Название: Авторизация пользователей
Отправлено: Britva от 26 Января 2002, 16:33:18
Постучал.... вроде начинает помогать :)
О! помогло :)
Название: Авторизация пользователей
Отправлено: nagash от 27 Января 2002, 16:41:33

и не остантся в хистори... %)
Название: Авторизация пользователей
Отправлено: Britva от 27 Января 2002, 23:22:32
nagash
хех, а при переходе на другие ссылки в /secret/dir они разве не сохраняются в хистори?

проблема решена немного другим способом: допустим, на главной, есть формочка с вводом одного единственного логина (причем необязательно совпадание с логином в .htpasswd, а главное название директории), и скрипт просто редиректит header\'ом туда и все, а там уже клиент пусть вводит логин/пароль, имхо практически оптимальный выход.
Название: Авторизация пользователей
Отправлено: nagash от 28 Января 2002, 00:02:59
Britva
да и пусть себе сохраняются... дальшето ссылки делать нормальными... без логина и пароля...
он уже разок пароль ввёл так что больше от него требовать не будут пока он по этой директории гуляет...
Название: Авторизация пользователей
Отправлено: Britva от 28 Января 2002, 00:18:52
Цитировать
да и пусть себе сохраняются... дальшето ссылки делать нормальными... без логина и пароля...

интересно, а как сделать нормальными, если все хтмл-ки с относительными путями.
просто интерес весь в том, чтобы не менять все содержимое тех директорий для юзеров.
Название: Авторизация пользователей
Отправлено: nagash от 28 Января 2002, 00:53:06
можно опять же яваскриптом... :)
а можно просто так писать...
надо потестить... просто времени сейчас нет :(
но на мой взгляд это оптимальный вариант =)
или на крайняк призвать на помошь пхп... коль вопрос в данном разделе =)
Название: Авторизация пользователей
Отправлено: Britva от 28 Января 2002, 01:01:38
nagash
может я что-то не понимаю, но ты тред весь читал?
и причем здесь яваскрипт ваще непонятно..... тут тема про php и апач.
Название: Авторизация пользователей
Отправлено: nagash от 28 Января 2002, 01:08:02
угумс... и очень плавно перетекла на яваскрипт...
по моему мнению со средствами пхп нет смысла возиться когда можно сделать проще...
м...?
Название: Авторизация пользователей
Отправлено: Britva от 28 Января 2002, 01:18:30
1. Яваскрипт может быть отключен.
2. В ПХП есть свой location.replace, т.е. хеадер Location: url

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


пожалуйста, сделай! оччччень интересно.  что же там проще такого будет?
Название: Авторизация пользователей
Отправлено: nagash от 28 Января 2002, 02:35:36
изначально неправильно друг друга поняли...
я сразу предлогал явовский реплейс... мне он показался удобнее...
что тут можно ещё сделать то? :)
просто реплейсом закидываешь на нужную пагу а потом относительными путями лазитьпо директории... хм...
вроде всё просто %)
Название: Авторизация пользователей
Отправлено: ERROR 404 от 28 Января 2002, 11:44:39
nagash -->
Делать авторизацию на javascript это конечно модно, слов нет,
это все равно что в квартире поставить бумажную дверь ;-)
А как же насчет такого поворота событий, что юзер подкрутит ручками JS, да и будет безнаказанно авторизироваться где ему только вздумается?

Лучше мне кажется все сделать на ХТМЛ, а на странице просто написать что-то типа этого: "Дорогие посетители нашего сайта! Убедительно просим вас заходить только в отведенную вам директорию! Надеемся на вашу честность и порядочность. С уважением к вам, администратор сайта Василий Пупкин" ;-))
Название: Авторизация пользователей
Отправлено: nagash от 28 Января 2002, 18:46:34
да вы что...
вы хоть вникаете в разговор...?
у нас есть пхп... не зря же эта тема в пхп... яваскрипт просто для удобства...
хм... а пароль и логин ессественно пхп передаёт...
Название: Авторизация пользователей
Отправлено: Britva от 28 Января 2002, 19:19:58
nagash
Объясни пожалуйста, чем же яваскрипт удобней то (и безопасней)?
Помогите понять....

P.S. проблема, кстати, решилась....  (как я ранее писал)
Название: Авторизация пользователей
Отправлено: nagash от 28 Января 2002, 19:29:56
ну супер тогда всё... =)
да ничем не удобнее...
просто вспомнил что реплей не созраняется в хистори... да и всё... единственный реплейс которй сразу вспомнил явовский...
помоги мне лутше с сессиями разобраться... =)
Название: Авторизация пользователей
Отправлено: bhor от 29 Января 2002, 10:19:09
http://php.spb.ru/php/session.html
Вот здесь все по сессиям
Название: Авторизация пользователей
Отправлено: ERROR 404 от 29 Января 2002, 13:14:31
Небольшое замечание: по нашему методу PHP пароль не передает, а просто редиректит в зависимости от учетной записи в определенную директорию, а там его уже встречает Апач со своей стандартнорй системой авторизации.

Britva - молодец, все просто и надежно как советский танк -)