Back to Question Center
0

Semalt: Сделать файл невидимым удаленно

1 answers:

У меня есть файл PHP, который хранит некоторую информацию о подключении для части моего веб-сайта. Это не «читаемо» из Интернета, что хорошо. я - anteojos ray ban modelo redondo. е. он пуст, когда вы переходите к нему из Интернета.

Однако, даже если он пуст, я предпочел бы, чтобы сервер возвратил сообщение об ошибке 403, когда люди переходят к нему. Могу ли я использовать . htaccess , чтобы сервер вернул эту ошибку? Каков правильный способ сделать это?

February 13, 2018

Это легко можно сделать, используя Отказать от всех :

  <Файлы "filetoblock. PHP ">Разрешить доступ, ЗапретитьОтказаться от всех
 

Это также выдаст статус 403.

Это не «читаемо» из Интернета

То, что вы видите, это результат после обработки файла PHP. Поскольку вы, вероятно, только устанавливаете некоторые переменные, то нет выхода, но он все еще обрабатывается. Если PHP должен потерпеть неудачу, или файл должен получить ошибку / поврежден, тогда это может выявить содержимое PHP.

В идеале вы просто ставите этот файл за пределы / над корнем документа. Таким образом, вам не нужно ничего делать, чтобы заблокировать его от публики и все равно будет заблокирован, если что-нибудь случится (например, ваш . htaccess случайно удаляется!).

Чтобы заблокировать это с помощью mod_rewrite в . htaccess :

  RewriteEngine On
RewriteRule ^ file-to-block \. php $ - [F] 

Вышеуказанное должно располагаться вблизи верхней части вашего . Файл htaccess .

Обратите внимание, однако, что если вы включите другое . htaccess в подкаталоге, который также использует mod_rewrite, тогда эта директива может быть переопределена.


Однако было бы предпочтительнее блокировать (403) эти файлы с помощью mod_authz_host (Apache 2. 2) или mod_authz_core (Apache 2. 4). Для Apache 2. 2 см. Ответ Саймона.

На Apache 2. 4, используя mod_authz_core:

  <Файлы "file-to-block. PHP ">Требовать, чтобы все отрицали
 

Альтернативно, для отправки 404 Not Found вместо запрещенного 403, вы можете изменить приведенную выше директиву mod_rewrite:

  RewriteRule ^ file-to-block \. php $ - [R = 404, L]