Re: Проблема с фильтрацией по запросам

AlexeyK itsmegawtf at gmail.com
Fri Jun 8 16:01:24 MSD 2007


2007/6/8, Alex Gakel <crazysqwad at gmail.com>:
> Спасибо. Только 1 проблема такое правило
>
>              if ($request_method ~ "^(POST|HEAD)$") {
>                  return 403;
>              }
> Рубит все запросы POST и HEAD и таким образом POST запросы скриптов не будут
> исполняться. Надо зарубить только POST и HEAD идущие на корень.
>
> P.S. Заранее спасибо за помощь
>
> 2007/6/8, Igor Sysoev <is at rambler-co.ru>:
> > 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 <http://89.111.180.163:80>;
> > >        server_name  foto.rock-zone.ru <http://foto.rock-zone.ru >;
> > >
> > >        #charset koi8-r;
> > >
> > >        access_log  /home/savel/home/savel/foto
> > > .rock-zone.ru/logs/access_log < http://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         http://foto.rock-zone.ru:7777;
> > >            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
> > > <http://zone.ru/docs>;
> > >        }
> > >
> > >    }
> > >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >
>
>

Прописывайте внутри локейшна (на корень) ограничение.


More information about the nginx-ru mailing list