[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как указать корень в .htaccess: php_value auto_prepend_file
Anghram
Существует ли способ указать в .htaccess переменную, аналогичную php $_SERVER['DOCUMENT_ROOT']? Использую для авторизации, подключая ко всем файлам файл auth.php, где происходит проверка пользователя.

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



Спустя 43 минуты, 3 секунды (28.03.2008 - 13:35) vasa_c написал(а):
Расскажите подробнее об этом направлении.

Спустя 3 дня, 7 часов, 4 секунды (1.04.2008 - 19:36) Anghram написал(а):
Есть папка "secret". В ней много папок с php-файлами. Нужно ограничить доступ для всей папки.

Я сделал так: положил в папку "secret" файл .htaccess, где написал:
Код
php_value auto_prepend_file "/home/mysite/www/secret/auth.php"


А в auth.php происходит проверка. Если $_SESSION['login'] задана, то пользователь видит содержимое открываемого файла, иначе - открывается форма для ввода логина/пароля.

При смене имени домена/адреса приходится переписывать путь в htaccess вручную.

Вопрос 1:
Можно ли указать его через переменную?

Вопрос 2:
Логично ли я делаю? Или есть другой способ? Кроме авторизации средствами сервера.

Спустя 5 дней, 19 часов, 59 минут, 22 секунды (7.04.2008 - 15:35) Anghram написал(а):
Ап.

Спустя 1 час, 59 минут, 5 секунд (7.04.2008 - 17:34) Sylex написал(а):
Цитата(Anghram @ 1.4.2008, 23:36) [snapback]36120[/snapback]
Есть папка "secret". В ней много папок с php-файлами. Нужно ограничить доступ для всей папки.

Я сделал так: положил в папку "secret" файл .htaccess, где написал:
Код
php_value auto_prepend_file "/home/mysite/www/secret/auth.php"


А в auth.php происходит проверка. Если $_SESSION['login'] задана, то пользователь видит содержимое открываемого файла, иначе - открывается форма для ввода логина/пароля.

При смене имени домена/адреса приходится переписывать путь в htaccess вручную.

Вопрос 1:
Можно ли указать его через переменную?

Вопрос 2:
Логично ли я делаю? Или есть другой способ? Кроме авторизации средствами сервера.


А чем не устраивает способ средствами web-сервера? И не надо никаких путей, все для текущей директории:

Код
AuthUserFile /path/file.pas
AuthType Basic
AuthName "My Secret”
Require valid-user


Если много пользователей - ничто не мешает и это сделать, даже добавлять и удалять их можно - редактируя скриптом file.pas и используя функцию crypt().

И как вариант - средствами PHP rolleyes.gif

Спустя 41 минута, 8 секунд (7.04.2008 - 18:15) Anghram написал(а):
php_value auto_prepend_file "/home/mysite/www/secret/auth.php". О нем и идет речь.

Basic Auth не подходит по ряду причин, не просто так.

Спустя 9 дней, 16 часов, 21 минута, 29 секунд (17.04.2008 - 10:37) Anghram написал(а):
Ап.

Спустя 2 часа, 42 минуты, 1 секунда (17.04.2008 - 13:19) ne4to написал(а):
а в чем проблема использовать относительный путь ?

Код
php_value auto_prepend_file "./secret/auth.php"


ты часто меняешЪ хостинг ))? или просто на многихЪ хостингахЪ такое ставишЪ)? можно сделать пхп скрипт который будет создавать правильный .htaccess

Цитата
Basic Auth не подходит по ряду причин, не просто так.


по каким если не секрет )?

Спустя 10 минут, 44 секунды (17.04.2008 - 13:29) ne4to написал(а):
Цитата
...то пользователь видит содержимое открываемого файла...

Вопрос 2:
Логично ли я делаю? Или есть другой способ? Кроме авторизации средствами сервера.


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


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.