View visitor IP address with PHP

A way to view the visitors public IP address, taking proxying into consideration as well.

Main code:
if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
	if ($_SERVER["HTTP_CLIENT_IP"]) {
		$proxy = $_SERVER["HTTP_CLIENT_IP"];
	} else {
		$proxy = $_SERVER["REMOTE_ADDR"];
	}
	$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
	if ($_SERVER["HTTP_CLIENT_IP"]) {
		$ip = $_SERVER["HTTP_CLIENT_IP"];
	} else {
		$ip = $_SERVER["REMOTE_ADDR"];
	}
}


Sample code:
<span style="font-size:18px; font-weight:bold"><?=$ip?></span><br>

<?php
if(isset($proxy)) {
	echo '<strong>Proxy detected:</strong><br>'.
		'<span style="font-size:18px; font-weight:bold">'.$proxy.'</span><br><br>';
} else {
	echo '<strong>No proxy detected.</strong><br><br>';
}
?>

<strong>Additional information:</strong><br>
<strong>User agent (browser):</strong> <?php echo $_SERVER['HTTP_USER_AGENT']; ?>


Code at work, viewing your public IP address:

38.107.179.241
No proxy detected.

Additional information:
User agent (browser): CCBot/1.0 (+http://www.commoncrawl.org/bot.html)

This document was last updated November 17th, 2011.
Written by: Dag Jonny Nedrelid
©2007-2012 http://thronic.com


Feel free to leave a comment.
Name:
URL:
0