Page 1 of 1

Как убрать возможность просматривать файлы в ненужных людям каталогах

Posted: Sun Jun 18, 2017 4:56 pm
by Alexunderlag
Подскажите пожалуйста есть сервер: VestaCP + Nginx + Php 7.0, ОС = Centos 7, установлена dle (сайтов много).
1. Раньше пользовался Apache и .htaccess прекрасно запрещал просматривать файлы.
2. Права на все файлы стоят 644, на каталоги 755, не считая папок и файлов которые указаны в инструкции.
3. Все файлы .htaccess удаленны (правильно же? они же все равно не читаются nginx и занимают просто место).
4. Есть одна проблема любые файлы к примеру: domain/engine/ajax/vote.php можно открыть и посмотреть выполнение (не со всеми файлами так, т.к. в некоторых файлах стоит защита как я понимаю и выводиться Hacking Attemp!), так же можно посмотреть абсолютно любые другие файлы .txt и прочее, помогите решить проблему...

Re: Как убрать возможность просматривать файлы в ненужных людям каталогах

Posted: Mon Jun 19, 2017 9:29 am
by Mikhail29
Здравствуйте! А как Вы ставили vestacp? Из дефолтных конфигов которые предлагает оф. сайт vesta - чистый apache, nginx + php-fpm и nginx + apache. Как конфигурировали Вы vestacp при установке? Пойдее по хорошему у Вас должен быть apache и соответственно .htaccess должны работать.

Re: Как убрать возможность просматривать файлы в ненужных людям каталогах

Posted: Tue Jun 20, 2017 2:41 am
by Alexunderlag
Ставил nginx + php-fpm, без Apache

Re: Как убрать возможность просматривать файлы в ненужных людям каталогах

Posted: Tue Jun 20, 2017 3:44 am
by Alexunderlag
location /engine/ {
deny all;
return 404;
}

Если делаю так то все работает, но он запрещает все файлы, а нужно запретить только php и tpl, а js, css разрешить.

Re: Как убрать возможность просматривать файлы в ненужных людям каталогах

Posted: Tue Jun 20, 2017 5:09 am
by yariksat
Запрещающие правила должны быть выше порядком, и тогда все должно заработать.
Например

Code: Select all

location ~ /views/(.+)\.php$ {
 deny all;
}
location ~ \.php$ {
.....