htaccess выборочная пересылка - PullRequest
3 голосов
/ 20 октября 2011

Это несколько уникальный вопрос, на который я не могу найти ответ нигде!Я новичок в игре с файлами htaccess.Вот что я пытаюсь сделать, дайте мне знать, если это вообще возможно:

Я пытаюсь перенаправить, когда кто-то обращается к определенному каталогу ПРЯМО, однако моему серверу нужна возможность доступа к каталогу, чтобы инициировать файл

Вот что я использую для выполнения перенаправления:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)$ ../ [NC]

Он работает как чудо, однако, когда мой скрипт пытается получить доступ к файловой системе, он, естественно, также перенаправляется.

Целью этого является загрузка защищенных файлов.Доступ пользователя к загрузке через защищенную область и ссылка для загрузки аналогичны http://example.com/download/superlongidhash

Этот URL-адрес затем берется и читается сценарием, формулирует фактический путь к файлу и соответственно отправляет заголовок php:

header("Content-type: application/force-download"); 
header("Content-Transfer-Encoding: Binary"); 
header("Content-length: ".filesize($path)); 
header("Content-disposition: attachment; filename=" . basename($path) . ""); 
readfile($path); 

Любая помощь будет принята с благодарностью :) Если есть лучший способ сделать это, дайте мне знать!

К вашему сведению, все это в рамках CodeIgniter

1 Ответ

0 голосов
/ 20 октября 2011

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

Взгляните на эту статью, которую я нашел о том, как делать именно то, что вы хотите. http://www.dialme.com/m/articles/view/How-to-Prevent-direct-access-to-files-and-folders

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...