Welcome! Log In Create A New Profile

Advanced

Re: nginx cookie - how to inject variable into cookie

Maxim Dounin
June 01, 2009 06:45AM
Hello!

On Sun, May 31, 2009 at 02:05:12AM -0700, Payam Chychi wrote:

> Hey,
>
> im trying to compare the cookie with the remote_addr via nginx but
> nginx sees $remote_addr as the text and not the a variable ... so it
> wont match properly
> I do have two cookies... the one I need to match for is the 2nd cookie
> "YPF8827340282Jdskjhfiw_928937459182JAX666=96.48.77.222"
>
> if ( $http_cookie !~
> YPF8827340282Jdskjhfiw_928937459182JAX666=$remote_addr ) {
> rewrite ^(.*)$ /check/$host.shtml last;
> break;
> }

This wont work since nginx doesn't allow variables in a right-hand side
of the expression. Workaround is to use something like this:

set $blah "$remote_addr:$http_cookie";
if ($blah !~ "^([0-9.]+):.*YPF8827340282Jdskjhfiw_928937459182JAX666=\1") {
...
}

This uses static pattern with pcre builtin backreference and will
work as expected.

Maxim Dounin
Subject Author Posted

nginx cookie - how to inject variable into cookie

Payam Chychi May 31, 2009 05:05AM

Re: nginx cookie - how to inject variable into cookie

Maxim Dounin June 01, 2009 06:45AM

Re: nginx cookie - how to inject variable into cookie

Payam Chychi June 01, 2009 11:01PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 312
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready