защитить XML-файл на сервере - PullRequest
2 голосов
/ 05 марта 2012

Я прочитал здесь много ответов о защите файла на сервере apache, некоторые говорили, что htaccess предназначен только для запрета доступа пользователей к файлам.Для меня не ..

Используя следующие строки, я не могу добраться до xml, НО мой php-скрипт тоже не может!

<Files sample.xml>
  Order allow,deny
  Deny from all
</Files>

Так как же защитить файл от пользователей,мой PHP-скрипт может получить к нему доступ.Файл находится в корневом каталоге.

Ответы [ 3 ]

4 голосов
/ 05 марта 2012

Если вы находитесь на сервере linux, у вас есть доступ к нему через оболочку, вы меняете права доступа к файлу на

chmod 0700 yourxmlfile.xml  # this will make it readable/writable/executable only by the creator of the file.

или в вашем файле .htaccess, вы можете сделать это:

RewriteEngine on
RewriteRule ^yourfile.xml$ 404.html

где 404.html может быть либо страницей, которая не найдена, либо любой страницей мусора, которая будет отображаться как недействительный URL.

1 голос
/ 05 марта 2012

Если под пользователями вы подразумеваете людей, получающих доступ к вашему веб-сайту извне, у вас есть несколько решений:

Лучшим способом было бы вывести его из корневого веб-сайта (если вы можете).Это, безусловно, защитит его от внешнего доступа.

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

Order Deny,Allow
Deny From All
Allow From 127.0.0.1

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

0 голосов
/ 05 марта 2012

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

RewriteEngine On    
RewriteRule ^(.*)your_file(.*)\.xml$ [R=404,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...