ПРОЕКТЫ 


  АРХИВ 


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]

Работа с cookie: изменить зна чение существующей куки


  • To: nginx-ru@xxxxxxxxx
  • Subject: Работа с cookie: изменить зна чение существующей куки
  • From: "unclead" <nginx-forum@xxxxxxxx>
  • Date: Wed, 17 Feb 2010 10:39:47 -0500

Здравствуйте!

Не знаю можно ли реализовать подобное на стороне веб-сервера(nginx).
Весь день серфил в Интернете - ничего не смог найти, потому решил задать вопрос 
здесь.

Есть задача, которая основана на куках.

Т.е. абонент заходит на сайт, ему передается кука, например, stat со значением 
val1
add_header    Set-Cookie stat=val1;

далее если абонент заходит еще раз на сайт(скачивает контент), то проверятеся 
есть ли у абонента кука
if ($cookie_stat ~ "val1.*$")

и если есть то значение куки нужно сменить на val2.
Как только не пробовал, не выходит. 

В конфиге выглядит примерно так

       location ~ ^/support/check/(.*)$ {
                proxy_pass_header Set-Cookie;
                more_clear_headers 'Expires';
                add_header  Cache-control 'no-store,no-cache,must-revalidate';
                add_header  Expires       "Wed, 28 Oct 2009 06:45:35 GMT";

                proxy_buffering off;
                proxy_ignore_client_abort off;
                proxy_max_temp_file_size 0;
                keepalive_timeout 0;
                reset_timedout_connection on;
                proxy_buffer_size 1k;

                set $myurl $1;

                if ($cookie_stat ~ "val2.*$"){
                        proxy_pass http://proxy/$myurl;break;
                }
                if ($cookie_stat ~ "val1.*$"){
                        add_header    Set-Cookie stat=val2;
                        rewrite ^(.*)$ 
http://mysite.ru/stat.php?backurl=http://site2.ru/support/check/$myurl;break;
                }
               add_header    Set-Cookie stat=val1;
                proxy_pass http://proxy/$myurl;
        }

Надеюсь, что кто-то уже сталкивался с подобной задачей.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,55052,55052#msg-55052


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.