Quote:
	
	
		| 
					Originally Posted by sarettah  I just had a conversation with another programmer (whom I respect very much).  He had seen the code and suggested a couple of changes in the .php versions of the code. 
When getting the ip I was simply using the Server var for the Remote Ip ($_SERVER['REMOTE_ADDR']).  
 
He suggested that for someone hosting with a  forwarding service, such as cloudflare, that the Remote Addr var would always return Cloudflare's ip.
 
So to get to the real ip we have to do a little shuffling through the various server vars we have available and the code ends up looking something like:
 
	Code:   
  $clientip='';
  if (isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP'] != "") 
  {
    $clientip = addslashes($_SERVER['HTTP_CLIENT_IP']);
  } 
  else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != "") 
  {
    $clientip = addslashes($_SERVER['HTTP_X_FORWARDED_FOR']);
  } 
  else 
  {
    $clientip = addslashes($_SERVER['REMOTE_ADDR']);
  } He also reminded me to always escape the server vars as a security step.
 
So I am changing up the 2 php demos to utilize this methodology.
 
Thanks to K0nr4d (https://gfy.com/members/k0nr4d/ )  for the advice.  https://www.mechbunny.com/  is Konr4d's baby if you did not know that already.
 
. | 
	
 Cloudflare has their own headers for you to substitute into your code. REMOTE_ADDR is HTTP_CF_CONNECTING_IP.