Запретить доступ к одной конкретной папке.htaccess


Я пытаюсь запретить пользователям доступ к папке "site / includes", манипулируя URL-адресом. Я не знаю, нужно ли мне все отрицать и вручную делать отдельные исключения, чтобы разрешить, если я могу просто отрицать эту одну папку или если есть функция перезаписи, которую можно использовать.

конкретный пример: я не хочу видеть файлы каталога, введя "localhost/site/includes" в URL-адрес.

9 87

9 ответов:

создать и добавить эту строку:

Deny from all

на .htaccess файл, который вы должны использовать

Deny from  all

поставить это в site/includes/.htaccess чтобы сделать его специфичным для includes каталог

если вы просто хотите запретить список файлов каталога вы можете использовать

Options -Indexes 

вы также можете запретить доступ к папке с помощью RedirectMatch

добавьте следующую строку в htaccess файле

RedirectMatch 403 ^/folder/?$

это вернет a 403 forbidden ошибка для папки ie:http://example.com/folder/ но он блокирует доступ к файлам и папкам внутри этой папки, если вы хотите заблокировать все внутри папки, то просто измените шаблон регулярного выражения на ^/folder/.*$ .

другой вариант:mod-rewrite Если url-rewrting-module включен, вы можете использовать что-то вроде следующего в root/.htaccss :

RewriteEngine on

RewriteRule ^folder/?$ - [F,L]

это будет внутренне сопоставить запрос для folder до forbidden страница ошибки.

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

Order Allow,Deny 
Deny from all 

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

<FilesMatch "\.(jpg|gif|png|php)$">
Order Deny,Allow
   Allow from all
</FilesMatch>

ваш окончательный .htaccess файл будет выглядеть как

Order Allow,Deny 
Deny from all 

<FilesMatch "\.(jpg|gif|png|php)$">
Order Deny,Allow
   Allow from all
</FilesMatch>

источник разрешить доступ для определенных типов файлов в защищенном каталоге

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

Deny from  all

или вы можете перенаправить на пользовательскую страницу 404

Redirect /includes/ 404.html

вы также можете поставить это IndexIgnore * в свой корень .htaccess файл, чтобы отключить список файлов всех каталогов вашего сайта, включая sub-dir

создание индекса.php, индекс.html, индекс.htm не является безопасным. Потому что любой может получить доступ к вашим файлам в указанном каталоге, угадав имя файлов. Например:http://yoursite.com/includes/file.dat Итак, рекомендуемый метод-это создание .htaccess файл, чтобы запретить всем посетителям ;). Получайте удовольствие !!

вы можете сделать это динамически, таким образом:

mkdir($dirname);
@touch($dirname . "/.htaccess");
  $f = fopen($dirname . "/.htaccess", "w");
  fwrite($f, "deny from all");
fclose($f);

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

## no access to this folder

# Apache 2.4
<IfModule mod_authz_core.c>
    Require all denied
</IfModule>

# Apache 2.2
<IfModule !mod_authz_core.c>
    Order Allow,Deny
    Deny from all
</IfModule>

источник: MantisBT источники.