Page 1 of 1
nginx+php-fpm ограничение на папку по IP
Posted: Thu Oct 13, 2016 1:10 pm
by ogloblya
Всем привет.
Есть конфигурация nginx+php-fpm , Centos 7.2
Никак не могу применить ограничение на папку по IP для домена.
Запрет для всех работает:
location ~* ^/administrator/.+\.php {
deny all;
}
Разрешение ну никак не хочет :( предлагает сохранить какие то файлы постоянно
location ~* ^/administrator/.+\.php {
allow Х.Х.Х.Х;
deny all;
}
Может кто подсобнет советом, интернет как то не помогает в данном случае.
Re: nginx+php-fpm ограничение на папку по IP
Posted: Mon Oct 17, 2016 3:21 pm
by ogloblya
Блин ну неужели ни у кого такого не было ?
Перепробовал кучу различных модификаций строк .... deny работает, allow не работает. ^(((
Че ему надо не пойму.
Re: nginx+php-fpm ограничение на папку по IP
Posted: Fri Oct 28, 2016 4:46 pm
by ogloblya
Попробовал новую конфигурацию:
location ~* /administrator/. {
allow Х.Х.Х.Х;
deny all;
}
При нужном ИП предлагает скачать какой то сценарий, при неправильном ИП блокирует .... :((( Неужели у всех работает, запрет по ИП или все тупо юзают пароли и не парятся такими недоработками.
Re: nginx+php-fpm ограничение на папку по IP
Posted: Tue Nov 01, 2016 5:51 am
by skurudo
Схема классическая, даже странно почему она у вас не сработала
Попробуйте вот так записать локейшен:
Code: Select all
location ^~ /administrator {
allow 1.2.3.4;
deny all;
}
Re: nginx+php-fpm ограничение на папку по IP
Posted: Sun Nov 06, 2016 2:09 am
by ogloblya
skurudo wrote:Схема классическая, даже странно почему она у вас не сработала
Попробуйте вот так записать локейшен:
Code: Select all
location ^~ /administrator {
allow 1.2.3.4;
deny all;
}
Попробовал, все тоже самое, при совпадении ИП предлагает скачать сценарий пхп. Запрет работает.
Конфигурация joomla, пытался вставлять в разные места конфига вроде тоже не помогает :(
Может надо в какое то определенное место вставлять?
Re: nginx+php-fpm ограничение на папку по IP
Posted: Wed Nov 09, 2016 7:13 am
by ogloblya
skurudo wrote:Схема классическая, даже странно почему она у вас не сработала
Попробуйте вот так записать локейшен:
Может я не в то место ее впихиваю, подскажите в какую строку конфига жумла нужно ее вставить?
Re: nginx+php-fpm ограничение на папку по IP
Posted: Wed Nov 09, 2016 12:33 pm
by Stesh
skurudo wrote:Схема классическая, даже странно почему она у вас не сработала
Попробуйте вот так записать локейшен:
Code: Select all
location ^~ /administrator {
allow 1.2.3.4;
deny all;
}
А она может не сработать.
Для /administrator она сработает, а /administrator/index.php будет обработан локейшеном location ~ [^/]\.php(/|$) или какой там.
Что бы ограничить доступ к папке по ip, нужно делать вложенный локейшн, обрабатывающий php.
Пример
Code: Select all
location ^~ /administrator/ {
allow 1.2.3.4/24;
allow 1.2.3.4/16;
deny all;
location ~ \php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
...
...
}
}
Или пример в случае ТС
Code: Select all
location ~* ^/administrator/.+\.php {
allow Х.Х.Х.Х;
deny all;
// добавляем обработку php
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
...
...
}
}
Re: nginx+php-fpm ограничение на папку по IP
Posted: Thu Nov 10, 2016 5:47 pm
by ogloblya
Stesh wrote:А она может не сработать.
Спасиииибоооо человек !!!
Сколько сил потратилось на перечитывание этих всех гребаных мануалов по безопасности, joomla, nginx и прочей пурги. Сколько всякой информации я узнал за это время но ни в одном не встретил этого гениального решения.
Заработало елы палы, ну почему ..... ПОЧЕМУ этого нет в стандартном конфиге Joomla. Вот сто пудово все юзают пароли.
По существу, заработал почему только один вариант, второй не захотел:
Code: Select all
location ^~ /administrator/ {
allow х.х.х.х;
deny all;
location ~ \php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass 127.0.0.1:9050;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
Вставил его после локешена htacces. Этож просто офигенно когда можно всех отсылать нафиг по ИП.
Теперь осталось освоить настройки nginxa по geo ip :)