ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Подскажите как запретить доступ к POST с определенных IP



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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.