Есть небольшой сайтик со скриптами на PHP.
В корне сайтика лежит .htaccess.
В нём прописана ссылка на файл с паролями и группами.
Авторизация работает на ура.
Есть только одна проблема:
как добраться из самого PHP скрипта до информации о пользователе, которого авторизовали?
Т.е. Узнать имя и пароль, которые вводились при открытии сайта.
Здравствуйте, clairbee, Вы писали:
C>Есть только одна проблема: C> как добраться из самого PHP скрипта до информации о пользователе, которого авторизовали?
При включеных глобалсах
$PHP_AUTH_USER
$PHP_AUTH_PW
При выключеных
$_SERVER["PHP_AUTH_USER"]
$_SERVER["PHP_AUTH_PW"]
King Oleg
*Читайте DOC'и, они rules*
Re[2]: [PHP] Apache Authorization: доступ к учётной записи
Здравствуйте, King Oleg, Вы писали:
C>> как добраться из самого PHP скрипта до информации о пользователе, которого авторизовали? KO>При включеных глобалсах KO>
Здравствуйте, clairbee, Вы писали:
C>Отлично. Спасибо.
C>Вот только я забыл самое интересное сказать: C>как получить доступ к группам, к которым его приписали при проверке?
Здравствуйте, ЖуК, Вы писали:
ЖуК>Парси файл с группами
А че те так смешно (см. оценку предыдущего сообщения). ПХП не хранит внутренне данную информацию. Если она тебе так нужна — парси файл с группами. Логин юзера у тя есть. Открываешь файл с группами — считываешь из него группы, в которые входит данный пользователь. Какие проблеммы??? Че смешного???
Здравствуйте, ЖуК, Вы писали:
ЖуК>>Парси файл с группами ЖуК>А че те так смешно (см. оценку предыдущего сообщения). ПХП не хранит внутренне данную информацию. Если она тебе так нужна — парси файл с группами. Логин юзера у тя есть. Открываешь файл с группами — считываешь из него группы, в которые входит данный пользователь. Какие проблеммы??? Че смешного???
Смешно из более высоко уровня (PHP) лезть в нутря более низкого (Apache).
Меня не сильно радует такая организация системы, чтобы работоспособность более высокого уровня зависела от настройки более низкого.
Ну вот напало на меня желание авторизацию через mysql сделать.
Так что, переписывать теперь PHP-шный код?
Это еще терпимо, когда я один всё делаю, а если это настраивается и пишется разными людьми?
В общем, не возбуждает на действия меня такой способ.
На сколько я уже понял, все эти группы — это специфика авторизации через файлы.
Т.е. на верх эта информация точно не будет попадать...
Ну и ладно...
Не очень то и хотелось.
Буду префикс к именам пользователей делать, вместо групп.
Здравствуйте, clairbee, Вы писали:
C>Смешно из более высоко уровня (PHP) лезть в нутря более низкого (Apache).
А зачем тебе лезть внутря Индеца? Я тебя не понимаю...
C>Меня не сильно радует такая организация системы, чтобы работоспособность более высокого уровня зависела от настройки более низкого.
Какие настройки?
C>Ну вот напало на меня желание авторизацию через mysql сделать.
Делай.
C>Так что, переписывать теперь PHP-шный код?
А как же ты думал? А если тебе надо МайЭсКьюЭль заменить на ОРАКЛ? Тогда что — тоже переписывать? Отвечаю — тоже. Тока не переписывать, а добавить "и такую возможность", и при установке программы делать выбор каким образом будет организована авторизация — через апач или через БД. Мало того, ты можешь авторизационные заголовки отправлять из любого скрипта и не юзать вообще апачевую авторизацию. И опять ПХП код будет другим.
C>Это еще терпимо, когда я один всё делаю, а если это настраивается и пишется разными людьми?
Эти люди понимают на что идут и как это работает. Если нет — гони их в шею — такие программисты никому не нужны.
C>В общем, не возбуждает на действия меня такой способ. C>На сколько я уже понял, все эти группы — это специфика авторизации через файлы.
Да, группы у тебя хранятся в файлах. И чем тебя это не устраивает? Вполне нормальный подход.
C>Т.е. на верх эта информация точно не будет попадать...
Да она и попала тебе в файле — че те не нравится. Делай с ним что душе угодно — читай, добавляй, записывай. .htaccess тоже файл — читай добавляй записывай. http://pear.php.net/package-info.php?package=File_HtAccess вот так например это люди используют. Чем ты не доволен?
C>Ну и ладно... C>Не очень то и хотелось. C>Буду префикс к именам пользователей делать, вместо групп.
Здравствуйте, clairbee, Вы писали:
C>Ну вот напало на меня желание авторизацию через mysql сделать.
Зачем вообще использовать HTTP-авторизацию? Существует множество библиотек, где авторизация сделана более удобно и лучше защищена. Хотя бы, к примеру, древняя PHPLIB (http://www.sanisoft.com/phplib/) — реализует и унифицированный доступ к базам данных (хоть тебе MySQL, хоть в файлы пиши — все равно одними и теми же функциями), там же сделана авторизация и раздача пермишенов, и еще парочка интересных идей. Причем достаточно ее один раз настроить, и можно легко перетаскивать в новые проекты с минимумом изменений. Наверняка это не единственная библиотека такого рода, просто она достаточно давно существует и потому известная.