Re: Подскажите как запретить доступ к POST с определенных IP
Igor Sysoev
igor at sysoev.ru
Sun Feb 24 06:25:09 UTC 2013
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