ПРОЕКТЫ 


  АРХИВ 


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



On Feb 23, 2013, at 20:54 , Maxim Dounin wrote:

> 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;
>    }

Можно сразу
error_page 403 =301 http://domain.com;


--
Igor Sysoev
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.