Re: Подскажите как запретить доступ к POST с определенных IP
Maxim Dounin
mdounin at mdounin.ru
Sat Feb 23 16:54:47 UTC 2013
Hello!
On Sat, Feb 23, 2013 at 02:30:21PM +0200, Станислав wrote:
> 23.02.2013 13:35, Maxim Dounin пишет:
> >Hello!
> >
> >On Sat, Feb 23, 2013 at 01:26:30PM +0200, Станислав wrote:
> >
> >>Подскажите пожалуйста как лучше реализовать запрет на доступ к
> >>методу POST с определенных IP.
> >Как-то так:
> >
> > limit_except GET {
> > allow 192.168.1.0/32;
> > deny all;
> > }
> >
> >http://nginx.org/r/limit_except/ru
> >
> Спасибо Максим!
>
> Подскажите пожалуйста можно ли избавится от if в такой конструкции:
>
> geo $redirect_ip {
> default 0;
> 127.0.0.1 1;
> 192.168.1.0/24 1;
> }
>
> limit_except POST {
>
> if ($redirect_ip) {
> return 301 http://domain.com;
> }
>
> }
Сделав ровно то, что написано выше - написав правила allow/deny
вместо if'а.
Если тех, кому нельзя, нужно куда-то перенаправлять - то вынести
эту логику в обработку 403, как-то так:
error_page 403 = /403;
location / {
limit_except GET {
allow 127.0.0.1;
allow 192.168.1.0/2;
deny all;
}
...
}
location = /403 {
return 301 http://domain.com;
}
--
Maxim Dounin
http://nginx.com/support.html
Подробная информация о списке рассылки nginx-ru