Match if GET param exist

Igor Sysoev igor at sysoev.ru
Fri Jan 4 06:35:43 UTC 2013


On Jan 3, 2013, at 22:42 , Юрий Гончаров wrote:

> Здравствуйте
> Подскажите пожалуйста как решить задачу.
> Есть папка проекта /admin/
> Необходимо разрешить доступ в /admin/ только с X.X.X.X но если URL содержит GET параметр login, например http://domain.com/admin/logon?url=blablabla&login=name
> тогда пускать с любого IP
> Премного благодарю за любые советы, подсказки, примеры!

Как-то так:

http  {

    map $arg_login  $forbidden {
         ""    $forbidden_address;
         default   0;
    }

    geo $fobidden_address {
         X.X.X.X    0;
         default    1;
    }

   server {
        location /admin/ {
             if ($forbidden) {
                  return 403;
             }


--
Igor Sysoev
http://nginx.com/support.html

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130104/b853161a/attachment.html>


Подробная информация о списке рассылки nginx-ru