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

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем lordBlack, 24 май 2009.

Статус темы:
Закрыта.
  1. lordBlack

    lordBlack

    Регистр.:
    29 ноя 2007
    Сообщения:
    620
    Симпатии:
    246
    вопрос:
    есть куча папок на хосте... в некоторых есть скрипты

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

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

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


    вообщем вот такой сумбур.
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    591
    Ещё раз и человеческим языком, поскольку
    и
    противоречат друг другу.
     
  3. lordBlack

    lordBlack

    Регистр.:
    29 ноя 2007
    Сообщения:
    620
    Симпатии:
    246
    я не знаю как это вообще реализованно, и по какой причине противорецие идет, но факт есть факт.
    скрипт работает, но только в корне.
    при заливке куда-то в папку перебрасывает на индекс... 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>
     
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    591
    Ты сам понимаешь что пишешь?

    и
    ты опять сам себе противоречишь - то в папках работает, то не работает :D

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

    Mons

    Регистр.:
    2 апр 2006
    Сообщения:
    1.590
    Симпатии:
    917
    Автор имеет ввиду наверное этот принцип:

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

    Но если запрос идет от скрипта, например cms запрашивает, фаил открывается и исполняется.
     
  6. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    591
    Mons, скрипты в папке либо выполняются все, либо не выполняются вообще.

    Обычно папки закрываются при помощи deny from all, а скрипты из этих папок не выполняются напрямую, а инклудятся по мере необходимости.
    Но для этого система изначально должна быть спроектирована таким образом.
     
  7. lordBlack

    lordBlack

    Регистр.:
    29 ноя 2007
    Сообщения:
    620
    Симпатии:
    246
    Монс прав, и этот момент реализуетсо примерно так:
    вообщем мне тут мысль подсказали, на хосте просто запрет через htaccess на *.php ставишь и скрипты через модреврите вызываютсо...что-то типа такого...

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

    примерно так...
     
  8. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    591
    Удачи.
    Если получится сделать, стукни - скажу как обойти :D
     
  9. lordBlack

    lordBlack

    Регистр.:
    29 ноя 2007
    Сообщения:
    620
    Симпатии:
    246
    Вроде нашел.
     
  10. andrnag

    andrnag

    Регистр.:
    26 мар 2008
    Сообщения:
    350
    Симпатии:
    125
    ИМХО инклудить php файлы ты мог и без Allow from localhost, т.к. запрос идет не через сервер, а напрямую через файловую систему.
    А закрыл каталог правильно.
     
Статус темы:
Закрыта.