Welcome! Log In Create A New Profile

Advanced

Problem with "if" and "$remote_addr"

November 26, 2012 09:30PM
Hello,

I have strange problem. If i enter phpinfo file i get:
_SERVER["REMOTE_ADDR"] 80.239.242.1
_SERVER["HTTP_X_FORWARDED_FOR"] 79.173.35.1

So my IP is 80.239.242.1

I want to block access to location from other ips then ip in url. For example

location ~ ^/([0-9\.]+)/(.*?)$ {
if ($remote_addr != $1) {
return 404;
}
}

But it doesn't work correctly :(

1.) I will see value of variable $remote_addr, and it is correct result. The result is: 80.239.242.1
location ~ ^/([0-9\.]+)/(.*?)$ {
echo $remote_addr;
}
2.) I will check that $remote_addr is excaly parametr 1, and i get for the url "/80.239.242.1/1"
location ~ ^/([0-9\.]+)/(.*?)$ {
if ($remote_addr != $1) {
echo "$remote_addr != $1";
}
}

And the result is "79.173.35.1 != 80.239.242.1"


The question: Why variable $remote_addr change value when i use "if"

Sorry for my english.

Thanks for reply
Bart
Subject Author Posted

Problem with "if" and "$remote_addr"

bar_gra November 26, 2012 09:30PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 286
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