Права доступа к файлам на общих хостах - PullRequest
1 голос
/ 20 ноября 2008

Я написал скрипт, который принимает сводку заказа и сохраняет ее в XML-файле, за исключением того, что я не хочу, чтобы люди могли открывать XML-файл в своем браузере, очевидно.

Я размещен на очень хитром общем сервере с ограниченными возможностями: для начала не SSH.

Есть ли место, где я могу поместить этот файл, чтобы PHP все еще мог читать / писать в него, но веб-браузеры не смогут получить к нему доступ?

Обычно я создаю папку вне корня документа и помещаю ее туда, но при попытке получить сообщение «Отказано в доступе».

Папки, которые :

  • anon_ftp
  • бен
  • 1020 * серт *
  • CGI-BIN
  • конф
  • error_docs
  • и т.д.
  • httpdocs
  • httpsdocs
  • PD
  • частный
  • Статистика
  • субдоменов
  • web_users

PHP не может получить доступ к файлу, когда он находится в папке private. Возможно ли это с помощью .htaccess?

Ответы [ 3 ]

5 голосов
/ 20 ноября 2008

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

Deny from all

Это заставит Apache не обслуживать файлы из этого каталога; любые попытки доступа к каталогу или его содержимому будут встречаться с ответом «403 Forbidden» с сервера.

Примечание: Это зависит от того, что хост не удалил Limit из списка параметров в их директиве AllowOverride; у большинства общих хостов не должно быть причин для этого.

1 голос
/ 20 ноября 2008

Я решил эту проблему, поместив файл XML в мою папку httpdocs, но добавил в него файл .htaccess:

<Files ~ "myfile.xml">
    Order allow,deny
    Deny from all
</Files>
0 голосов
/ 20 ноября 2008

Не могли бы вы попросить провайдера общего хостинга создать для вас папку вне веб-корня ? Я конечно делал это в прошлом.

...