|  
 |  
 
 
 |  
 | 
|  
 | АРХИВ :: nginx-ru |  
| Nginx-ru mailing list archive (nginx-ru@sysoev.ru) [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: Проблема с фильтрацией по запросам
 
To: nginx-ru@xxxxxxxxxSubject: Re: Проблема с фильтрацией по запросамFrom: AlexeyK <itsmegawtf@xxxxxxxxx>Date: Fri, 8 Jun 2007 15:01:24 +0300Dkim-signature: a=rsa-sha1; c=relaxed/relaxed;        d=gmail.com; s=beta;        h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references;        b=d1ueZULqP+x4v3SRBkRnNGo0WZyHkUH2m8+m+Yp8eR/JgEoJ7adyHBDPVdGg7ziuxOfoZYjVncctCV7ZS8c9EehyjC+yhvZ3OkGgrhzIJUdIHTEMtFAW0CyWzRWuF24PdpgOe/nCmhZZDp/WF8lQ4n9xVkitJSQNSjTVC02o7PQ=Domainkey-signature: a=rsa-sha1; c=nofws;        d=gmail.com; s=beta;        h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references;        b=SLFBReOtO4N4y5SQbktEiWd/Vq7jBsvudIpFoJvnDzaHdCXF28Dy8UQeMwr3DMrzmcAv21oNVhsSIgsG02Vhdj6ON34PFEvlmP9N/xEZa2d+xiwybZhdtRRqWm/pOcnVxH5GRSQOnSxX25FX0x2G+jj3k/1nEEG8IpI7dnYudWk=In-reply-to: <6fdcb1fc0706080450v5903b16fv253b2c89cc36e0d7@xxxxxxxxxxxxxx>References: <466929BF.70507@xxxxxxxxxxxx> <redirect-75396169@xxxxxxxxxx>	 <6fdcb1fc0706080450v5903b16fv253b2c89cc36e0d7@xxxxxxxxxxxxxx> 
 
2007/6/8, Alex Gakel <crazysqwad@xxxxxxxxx>:
 
Спасибо. Только 1 проблема такое правило
             if ($request_method ~ "^(POST|HEAD)$") {
                 return 403;
             }
Рубит все запросы POST и HEAD и таким образом POST запросы скриптов не будут
исполняться. Надо зарубить только POST и HEAD идущие на корень.
P.S. Заранее спасибо за помощь
2007/6/8, Igor Sysoev <is@xxxxxxxxxxxxx>:
> On Fri, Jun 08, 2007 at 02:04:47PM +0400, SaVeL wrote:
>
> > Необходимо сделать фильтрацию по 3-м запросам:
> > 1. POST /
> > 2. HEAD /
> > 3. GET /?qwertyqwertyqwerty
> >
> > Необходимо на такие запросы выдавать ошибку 403. без проксирования на
> > Apache.
> >
> > Прописыванием if добиться не удается. Оч. нужна помощь.
> >
> > Конфиг такой:
> >
> > server {
> >        listen       89.111.180.163:80 <>;
> >        server_name  foto.rock-zone.ru < >;
> >
> >        #charset koi8-r;
> >
> >        access_log  /home/savel/home/savel/foto
> > .rock-zone.ru/logs/access_log < >
combined;
> >
>
>          location = /403.html {
>              root   ...;
>          }
>
> >        location / {
>
>              error_page  403  /403.html;
>
>              if ($request_method ~ "^(POST|HEAD)$") {
>                  return 403;
>              }
>
>              if ($args ~ "^qwertyqwertyqwerty") {
>                  return 403;
>              }
>
> >
> >            proxy_pass         ;
> >            proxy_redirect     off;
> >
> >
> >
> >            proxy_set_header   Host             $host;
> >            proxy_set_header   X-Real-IP        $remote_addr;
> >            proxy_set_header   X-Forwarded-For
$proxy_add_x_forwarded_for;
> >
> >            client_max_body_size       10m;
> >            client_body_buffer_size    128k;
> >
> >            proxy_connect_timeout      90;
> >            proxy_send_timeout         90;
> >            proxy_read_timeout         90;
> >
> >            proxy_buffer_size          4k;
> >            proxy_buffers              4 32k;
> >            proxy_busy_buffers_size    64k;
> >            proxy_temp_file_write_size 64k;
> >        }
> >
> >        # Static files location
> >        location ~*
> >
^.+\.(jpg|jpeg|gif|png|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|dat|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|tbz|js)$
> > {
> >            root   /home/savel/home/savel/foto.rock-
zone.ru/docs
> > <>;
> >        }
> >
> >    }
> >
>
> --
> Игорь Сысоев
> 
>
>
 
Прописывайте внутри локейшна (на корень) ограничение.
 
 |  
 
 |  
 |