Good morning programmers, I'm trying to protect a file, and for that I just want to allow the request_uri that I define. Example:
if ($request_uri !~* "d=123&y=456") {
return 403;
}
In this case, that example works, but I would like to do something like this:
set $test1 123;
set $test2 456;
if ($request_uri !~* "d=$test1&y=$test2") {
return 403;
}
So I want to make it via variables, is that possible? Cause I already tested a bunch of examples and none of them worked.
P.S: I'm using OpenResty (Nginx+Lua) so I would also accept solutions in Lua.
As requested: I don't remember everything I tried, since I tried a bunch of code, but I can tell you something that did worked:
set $teste 123;
if ($request_uri ~* "[?&]d=([^&]*)") { set $d $1; }
if ($d != $teste) {
return 403;
}
The only problem on this sentence is that it only verifies for the d=
and I wanted it to verify also the y=
, I could do another if
but I also wanted the d=
and the y=
on the same sentence instead of using multiple Ifs.
Anyway this sentence has another issue I can't change the $d != $teste
to $d !~*
$teste it simply stops working and I need to use the !~*
, as last option I could use multipe ifs, but since I can't use the !~*
it will not work anyway