2012-06-11 2 views
0

У меня возникли проблемы с доступом к содержимому .txt-файлов на удаленном сервере, который находится в защищенном каталоге .htaccess.Удаленный доступ PHP к защищенным файлам .htaccess

То, что я пытаюсь сделать, это следующее:

  • Подключение к FTP-серверу с помощью PHP и использовать ftp_nlist, чтобы получить список всех файлов .txt в каталоге. Здесь все работает нормально.

  • Для каждого найденного файла .txt я хочу получить содержимое. Существует несколько способов сделать это нормально, все работает нормально, когда нет файла .htaccess, защищающего файлы .txt.

BUT! Как только я защищу онлайновый каталог с файлом .htaccess, каждый мой метод не смог получить содержимое .txt-файлов. Файл .htaccess, который защищает папку, содержащую файлы .txt не имеет следующий (и больше ничего):

<Files *.txt> 
Order Deny,Allow 
Deny from All 
</Files> 

Очевидно, что онлайн PHP сам сайт может получить доступ содержимое файлов .txt без каких-либо проблем , и сам файл .htaccess выполняет свою работу (отрицая прямой доступ к любому из файлов), но когда я пытаюсь получить доступ к файлам .txt удаленно с моего сервера WAMP, я просто не могу найти способ обход защиты .htaccess.

В принципе, я хочу удаленно имитировать с моего сервера WAMP, что мой сайт уже делает локально, используя $contents = file($filepath). Конечно, должен быть способ ... Может ли кто-нибудь указать мне в правильном направлении? Должен ли я использовать другой способ защиты файлов .txt, или я должен использовать определенную функцию PHP для доступа к содержимому?

ответ

0

Ваш вопрос непонятен.
Если вы защищаете папку или файл с помощью .htaccess, вы все равно сможете загрузить этот файл с помощью FTP. .htaccess влияет только на Apache (http-запросы).

Если вы хотите, чтобы иметь возможность загружать эти файлы в любом случае с HTTP, то вы просто сделать скрипт, который выводит его содержимое:

downloader.php:

//> Check if the admin is logged, and check if $_GET['filename'] is allowed 

    readfile($_GET['filename']); 

Тогда вы можете запросить файл с:

http://yoursite/downloader.php?filename=file.txt 

конечно, не забудьте защитить доступ данного downloader.php