One of the other ip variables is also set, load the phpinfo page in the dashboard and check which is set; till need to move your particular line up above the others (the downside to there being so many options).

Just slapped this together, give it a run and see which shows correct IP's first:
forwarded.php (Isaac found a larger list than mine)
don't use this list (it was missing HTTP_X_SUCURI_CLIENTIP anyway), use the one one in my below post, this is left here for reference
PHP Code

<?php
if(isset($_SERVER["GD_PHP_HANDLER"])) {
	echo("A ". $_SERVER["GD_PHP_HANDLER"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_AKAMAI_ORIGIN_HOP"])) {
	echo("B ". $_SERVER["HTTP_AKAMAI_ORIGIN_HOP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_X_SUCURI_CLIENTIP"])) {
	echo("C ". $_SERVER["HTTP_X_SUCURI_CLIENTIP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
	echo("D ". $_SERVER["HTTP_CF_CONNECTING_IP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_CLIENT_IP"])) {
	echo("E ". $_SERVER["HTTP_CLIENT_IP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_FASTLY_CLIENT_IP"])) {
	echo("F ". $_SERVER["HTTP_FASTLY_CLIENT_IP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_FORWARDED"])) {
	echo("G ". $_SERVER["HTTP_FORWARDED"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_FORWARDED_FOR"])) {
	echo("H ". $_SERVER["HTTP_FORWARDED_FOR"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_INCAP_CLIENT_IP"])) {
	echo("I ". $_SERVER["HTTP_INCAP_CLIENT_IP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_TRUE_CLIENT_IP"])) {
	echo("J ". $_SERVER["HTTP_TRUE_CLIENT_IP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_X_CLIENTIP"])) {
	echo("K ". $_SERVER["HTTP_X_CLIENTIP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_X_CLUSTER_CLIENT_IP"])) {
	echo("L ". $_SERVER["HTTP_X_CLUSTER_CLIENT_IP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_X_FORWARDED"])) {
	echo("M ". $_SERVER["HTTP_X_FORWARDED"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_X_IP_TRAIL"])) {
	echo("N ". $_SERVER["HTTP_X_IP_TRAIL"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_X_REAL_IP"])) {
	echo("O ". $_SERVER["HTTP_X_REAL_IP"] ."<br>\n");
} elseif(isset($_SERVER["HTTP_X_VARNISH"])) {
	echo("P ". $_SERVER["HTTP_X_VARNISH"] ."<br>\n");
} else {
	echo("Q ". $_SERVER["REMOTE_ADDR"] ."<br>\n");
}
?>


These are pretty standard, hence why they where first:
HTTP_FORWARDED_FOR
HTTP_X_FORWARDED_FOR

I'd love to see your results from forwarded.php, are you on a CDN? I'm on CloudFlare, and theirs is second from last (because none of the others where set during testing).


I am a Web Development Contractor, I do not work for UBBCentral. I have provided free User to User Support since the beginning of these support forums.
Do you need Forum Install or Upgrade Services?
Forums: A Gardeners Forum, Scouters World
UBB.threads: UBBWiki, UBB Styles, UBB.Sitemaps
Longtime Supporter & Resident Post-A-Holic
VNC Web Services: Code Modifications, Upgrades, Styling, Coding Services, Disaster Recovery, and more!