запрет доступа к папкам извне (кроме скрипта)

Статус
В этой теме нельзя размещать новые ответы.

lordBlack

Мой дом здесь!
Регистрация
29 Ноя 2007
Сообщения
623
Реакции
267
вопрос:
есть куча папок на хосте... в некоторых есть скрипты

т.е.
сайт.ру/папко/скрипт.хтмл

как запретить доступ ко всем папкам?
сайт.ру/папко1/
сайт.ру/папко2/
сайт.ру/папко3/

например на битриксе реализовано такая штука
даже если шелл в какую-то папку заливаешь - при попытке вызова его (шелла) он перебрасывает на индекс, хотя при вызове скриптов php находящихся в папках - скрипты великолепно исполняютсо....


вообщем вот такой сумбур.
 
Ещё раз и человеческим языком, поскольку
даже если шелл в какую-то папку заливаешь - при попытке вызова его (шелла) он перебрасывает на индекс
и
хотя при вызове скриптов php находящихся в папках - скрипты великолепно исполняютсо
противоречат друг другу.
 
я не знаю как это вообще реализованно, и по какой причине противорецие идет, но факт есть факт.
скрипт работает, но только в корне.
при заливке куда-то в папку перебрасывает на индекс... htaccess глянуть не успел -багу (доступ по фтп) прикрыли...
то есть скрипты которые там (в папках) и работают и вызываютсо, Но вообщем вот так...
мне тут советуют так:
PHP:
<Directory /home/site/admin>  
  Deny from all  
</Directory>
но это вызывает 500 обшибку... вот так пробую... но снова что-то не то...где ошибко?

PHP:
<Files ~ "(\.(conf|inc|module|pl|sh|sql|theme|engine|xtmpl)|Entries|Repositories|Root|scripts|updates)$">
order deny,allow
deny from all
</Files>
 
Ты сам понимаешь что пишешь?

скрипт работает, но только в корне.
при заливке куда-то в папку перебрасывает на индекс... htaccess глянуть не успел -багу (доступ по фтп) прикрыли...
и
то есть скрипты которые там (в папках) и работают и вызываютсо, Но вообщем вот так...
ты опять сам себе противоречишь - то в папках работает, то не работает :D

Запретить вызывать скрипт из папки - элементарно, но конкретно тебе что-то подсказать невозможно, потому что ты сам не можешь объяснить что тебе надо.
 
Автор имеет ввиду наверное этот принцип:

Если злоумышленник заливает к нам шелл и пытается его вызвать, у него просто не выходит это. Он или получает 404 или 303. Так же и со всеми файлами, которые могут пытаться достать из папки.

Но если запрос идет от скрипта, например cms запрашивает, фаил открывается и исполняется.
 
Mons, скрипты в папке либо выполняются все, либо не выполняются вообще.

Обычно папки закрываются при помощи deny from all, а скрипты из этих папок не выполняются напрямую, а инклудятся по мере необходимости.
Но для этого система изначально должна быть спроектирована таким образом.
 
Монс прав, и этот момент реализуетсо примерно так:
вообщем мне тут мысль подсказали, на хосте просто запрет через htaccess на *.php ставишь и скрипты через модреврите вызываютсо...что-то типа такого...

или напротив, получаетсо что вызов скрипта идет от локалхоста, и все гуд, а все что вызываетсо именно с извне - как в случае с шеллом - то получает 403 или 404...

примерно так...
 
Удачи.
Если получится сделать, стукни - скажу как обойти :D
 
ИМХО инклудить php файлы ты мог и без Allow from localhost, т.к. запрос идет не через сервер, а напрямую через файловую систему.
А закрыл каталог правильно.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху