Запретить доступ к одной конкретной папке.htaccess
Я пытаюсь запретить пользователям доступ к папке "site / includes", манипулируя URL-адресом. Я не знаю, нужно ли мне все отрицать и вручную делать отдельные исключения, чтобы разрешить, если я могу просто отрицать эту одну папку или если есть функция перезаписи, которую можно использовать.
конкретный пример: я не хочу видеть файлы каталога, введя "localhost/site/includes" в URL-адрес.
9 ответов:
на
.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 источники.