IF ( getenv("HTTP_CLIENT_IP") && strcasecmp( getenv("HTTP_CLIENT_IP"), "unknown" ) )
$IP = getenv("HTTP_CLIENT_IP");
ELSEIF ( getenv("HTTP_X_FORWARDED_FOR") && strcasecmp( getenv("HTTP_X_FORWARDED_FOR"), "unknown" ) )
$IP = getenv("HTTP_X_FORWARDED_FOR");
ELSEIF ( getenv("REMOTE_ADDR") && strcasecmp( getenv("REMOTE_ADDR"), "unknown" ) )
$IP = getenv("REMOTE_ADDR");
ELSEIF ( isset( $_SERVER['REMOTE_ADDR'] ) && $_SERVER['REMOTE_ADDR'] && strcasecmp( $_SERVER['REMOTE_ADDR'], "unknown" ) )
$IP = $_SERVER['REMOTE_ADDR'];
ELSE
$IP = FALSE;
now why doesn't it work?
Tal, I presume you can test each condition separately. Which one is active? what is your error message?
oh maybe i should specify its sending back blanks for ips
That first condition looks funny to me.
IF ( getenv("HTTP_CLIENT_IP") && strcasecmp( getenv("HTTP_CLIENT_IP"), "unknown" ) )
Do you want a NOT on the second condition?
Spell checker really doesn't like coding words at all.
attempting to ban proxy ips
Tal, I ran your script as you have it there.
I'm using a toy IP address, and it appears:
"print $IP" gives me
127.0.0.1
which is correct.
What exactly is not working for you? What sort of inputs are failing?
From http://forums.digitalpoint.com/showthread.php?t=365467
if( @fsockopen( $_SERVER['REMOTE_ADDR'], 80, $errstr, $errno, 1 ) )
{
die("I'm not letting you in");
}
i.e. check for a connection to port 80
bartjan
April 8 2009 4:16 PM EDT
I haven't touched any PHP in about 1.5 years now (sounds like an AA meeting :) but here goes:
if (isset($_SERVER['HTTP_CLIENT_IP']) && !strcasecmp($_SERVER['HTTP_CLIENT_IP'],"unknown")) $IP=$_SERVER['HTTP_CLIENT_IP'];
elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'],"unknown")) $IP=$_SERVER['HTTP_X_FORWARDED_FOR'];
elseif (isset($_SERVER['REMOTE_ADDR']) && !strcasecmp($_SERVER['REMOTE_ADDR'],"unknown")) $IP=$_SERVER['REMOTE_ADDR'];
else $IP=FALSE;
But I'm not getting what you want to achieve with this code.
Warlord, that code sample you show would block me from accessing a website that uses that code. cb.dontpanic.nl for example runs on the same Internet connection as I am using to browse with...
This thread is closed to new posts.
However, you are welcome to reference it
from a new thread; link this with the html
<a href="/bboard/q-and-a-fetch-msg.tcl?msg_id=002iNv">PHP help</a>