Проблема с .htaccess-доступ к файлам через специальный скрип
От: Afin Украина http://finayev.afinslab.com
Дата: 10.04.09 00:44
Оценка:
Народ, есть проблема.
Есть на сайте папка /folder/
В ней будут хранится другие папки, по папке на пользователя.
Т.е. /folder/user1/
/folder/user2/

И тд.

Нужно сделать так, чтобы заполнив на основном сайте логин и пароль, пользователь получал доступ к своей папке (данные о папке пользователя берутся из бд). Извне папки должны быть недоступны никому, крому этого залогиненного пользователя.
Использовать .htpasswd нельзя, потому что нужно конкретно чтобы пользователь логинился через мою форму на сайте.

Пока всё что получилось это сделать следующее:
в каждой папке /folder/userX/ лежит файл .htaccess со следующим содержанием:

код

RewriteEngine On
Options -Indexes
DirectoryIndex get.php
RewriteRule ^get.php?file=$1?$ get.php?file=$1 [L]
RewriteRule ^([^/]+)?$ get.php [L]


И также лежит php скрипт get.php, который по сути нужен для того, чтобы проверить сессию пользователя,и если все в порядке, показать нужный файл в браузере (обычно файлы это html странички).

Проблема в том, что если папке /folder/userX/ есть другие папки, например:

/folder/userX/index.html
/folder/userX/css/

То можно спокойно просмотреть файл /folder/userX/css/main.css
извне, не будучи залогиненым.

Никак не придумаю, как правильно решить эту проблему.

По сути мне нужно чтобы все запросы которые идут не от get.php блокировались

Применение следующее:
в папку /userX/ кидается например сверстанный сайт в html
пользователь может глянуть на файл /userX/index.html через get.php?file=index.html
При этом все css файлы подхватываются и не блокируются, потому что идет запрос от get.php

Реально ли это вообще сделать ? Уже вторые сутки мучаюсь...

Заранее спасибо
Re: Проблема с .htaccess-доступ к файлам через специальный с
От: Панда Россия  
Дата: 12.04.09 08:27
Оценка:
Здравствуйте, Afin, Вы писали:

A>Применение следующее:

A>в папку /userX/ кидается например сверстанный сайт в html
A>пользователь может глянуть на файл /userX/index.html через get.php?file=index.html
A>При этом все css файлы подхватываются и не блокируются, потому что идет запрос от get.php

A>Реально ли это вообще сделать ? Уже вторые сутки мучаюсь...


Прописать в .htaccess правило, чтобы запрос вида /folder/userX/css/main.css преобразовывался в /folder/userX/get.php?file=main.css
А скрипт уже проверяет авторизацию и решает, выдать указанный файл или не выдать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.