Forum Webscript.Ru
Программирование => PHP => Тема начата: ERROR 404 от 25 Января 2002, 11:43:24
-
Хочу спросить совета, как лучше сделать авторизацию пользователей на сайте, чтобы в зависимости от логина редиректил в определенный каталог, с правами доступа только туда, а если юзер ручками подправит URL с целью влезть в чужой каталог - строго грозил ему пальцем :-)
-----------------
Ну теперь, собственно говоря, соображения:
1.юзер, вводя логин/пароль в форме на странице, не защищенной htaccess\'ом
попадал редиректом в директорию, защищенную htaccess\'ом уже без открытия
стандартного окошка авторизации
Вопрос знатокам: Можно ли это реализовать, если можно, то как?
2.Вести базу зарегистрированных пользователей в текстовом файле вида: логин|пароль|разрешенный каталог
Юзер вводит л/п - PHP шарит по базе - ищет логин - если находит сравнивает с паролем - если все OK - PHP делает вот так :super: и редиректит в указанную директорию.
А если юзер полезет напрямую в этот каталог не пройдя авторизацию то :abuse:
-------------------------------------
какие соображения будут у спецов?
-
Da. redirect na
http://user:pass@host/secret/dir/
-
Oak
но тогда он может сохраниться в истории. Интересно, можно ли не через урл, а каким-нибудь другим способом.
можно конечно все время удалять историю и т.п. :)
-
А какая разница то? Кому надо - тот и так отловит и usre и pass
-
Да вобщем-то действительно никакой. тоже самое, что запоминать пароль к дайл-апу (ну почти)
-
Уговорил :)
Если такой подход к делу - то только сесии тут и помогут.
(всмысле не ты один пользуешься доступом к компу = своим логином)
-
Я, например использую cookie...
-
Я, например использую cookie...
А я, например, сессии :)) т.к. они и так уже куки используют и работают надежнее, потому что если юзер куки отключил, то сессии будут продолжать работать...
Oak
Сессии здесь не очень хороший выход, т.к., например, в директории куча поддиректорий, куча файлов, причем, например, не только html, а gif, например. и во все вставлять проверку на сессии.... это ж опухнешь :):)
Есть еще соображения?
-
Есть - стукнуть тебя по голове, чтобы ты перестал думать, что http:// с указанным login + pass - это плохо ;) Можешь этот pass генерить рандомом на один день (или даже=меньше) и править .htaccess раз в=день.
-
Постучал.... вроде начинает помогать :)
О! помогло :)
-
и не остантся в хистори... %)
-
nagash
хех, а при переходе на другие ссылки в /secret/dir они разве не сохраняются в хистори?
проблема решена немного другим способом: допустим, на главной, есть формочка с вводом одного единственного логина (причем необязательно совпадание с логином в .htpasswd, а главное название директории), и скрипт просто редиректит header\'ом туда и все, а там уже клиент пусть вводит логин/пароль, имхо практически оптимальный выход.
-
Britva
да и пусть себе сохраняются... дальшето ссылки делать нормальными... без логина и пароля...
он уже разок пароль ввёл так что больше от него требовать не будут пока он по этой директории гуляет...
-
да и пусть себе сохраняются... дальшето ссылки делать нормальными... без логина и пароля...
интересно, а как сделать нормальными, если все хтмл-ки с относительными путями.
просто интерес весь в том, чтобы не менять все содержимое тех директорий для юзеров.
-
можно опять же яваскриптом... :)
а можно просто так писать...
надо потестить... просто времени сейчас нет :(
но на мой взгляд это оптимальный вариант =)
или на крайняк призвать на помошь пхп... коль вопрос в данном разделе =)
-
nagash
может я что-то не понимаю, но ты тред весь читал?
и причем здесь яваскрипт ваще непонятно..... тут тема про php и апач.
-
угумс... и очень плавно перетекла на яваскрипт...
по моему мнению со средствами пхп нет смысла возиться когда можно сделать проще...
м...?
-
1. Яваскрипт может быть отключен.
2. В ПХП есть свой location.replace, т.е. хеадер Location: url
по моему мнению со средствами пхп нет смысла возиться когда можно сделать проще...
пожалуйста, сделай! оччччень интересно. что же там проще такого будет?
-
изначально неправильно друг друга поняли...
я сразу предлогал явовский реплейс... мне он показался удобнее...
что тут можно ещё сделать то? :)
просто реплейсом закидываешь на нужную пагу а потом относительными путями лазитьпо директории... хм...
вроде всё просто %)
-
nagash -->
Делать авторизацию на javascript это конечно модно, слов нет,
это все равно что в квартире поставить бумажную дверь ;-)
А как же насчет такого поворота событий, что юзер подкрутит ручками JS, да и будет безнаказанно авторизироваться где ему только вздумается?
Лучше мне кажется все сделать на ХТМЛ, а на странице просто написать что-то типа этого: "Дорогие посетители нашего сайта! Убедительно просим вас заходить только в отведенную вам директорию! Надеемся на вашу честность и порядочность. С уважением к вам, администратор сайта Василий Пупкин" ;-))
-
да вы что...
вы хоть вникаете в разговор...?
у нас есть пхп... не зря же эта тема в пхп... яваскрипт просто для удобства...
хм... а пароль и логин ессественно пхп передаёт...
-
nagash
Объясни пожалуйста, чем же яваскрипт удобней то (и безопасней)?
Помогите понять....
P.S. проблема, кстати, решилась.... (как я ранее писал)
-
ну супер тогда всё... =)
да ничем не удобнее...
просто вспомнил что реплей не созраняется в хистори... да и всё... единственный реплейс которй сразу вспомнил явовский...
помоги мне лутше с сессиями разобраться... =)
-
http://php.spb.ru/php/session.html
Вот здесь все по сессиям
-
Небольшое замечание: по нашему методу PHP пароль не передает, а просто редиректит в зависимости от учетной записи в определенную директорию, а там его уже встречает Апач со своей стандартнорй системой авторизации.
Britva - молодец, все просто и надежно как советский танк -)