Skip to content

Instantly share code, notes, and snippets.

@ishahid
Created January 15, 2014 02:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ishahid/8429694 to your computer and use it in GitHub Desktop.
Save ishahid/8429694 to your computer and use it in GitHub Desktop.
Display HTTP headers in PHP.
<?php
$http_client_ip = '';
$http_x_forwarded_for = '';
$remote_addr = $_SERVER['REMOTE_ADDR'];
$remote_host = '';
$remote_port = $_SERVER['REMOTE_PORT'];
$remote_user = '';
$redirect_remote_user = '';
$http_user_agent = $_SERVER['HTTP_USER_AGENT'];
if (isset($_SERVER['HTTP_CLIENT_IP']))
{
$http_client_ip = $_SERVER['HTTP_CLIENT_IP'];
}
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$http_x_forwarded_for = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
if (isset($_SERVER['REMOTE_HOST']))
{
$remote_host = $_SERVER['REMOTE_HOST'];
}
if (isset($_SERVER['REMOTE_USER']))
{
$remote_user = $_SERVER['REMOTE_USER'];
}
if (isset($_SERVER['REDIRECT_REMOTE_USER']))
{
$redirect_remote_user = $_SERVER['REDIRECT_REMOTE_USER'];
}
$api_url = 'http://api.hostip.info/get_html.php?ip='. $remote_addr .'&position=true';
$response = file($api_url);
foreach ($response as $line) {
$line = trim($line);
if (!empty($line)) {
$parts = explode(': ', $line);
$array[$parts[0]] = $parts[1];
}
}
$country = $array['Country'];
$city = $array['City'];
$location = ($city == '(Unknown city)'? $country : $city .', '. $country);
$lat = $array['Latitude'];
$long = $array['Longitude'];
$latlong = ((!empty($lat) && !empty($long))? $lat .','. $long : '');
echo "HTTP_CLIENT_IP: ". $http_client_ip ."<br>";
echo "HTTP_X_FORWARDED_FOR: ". $http_x_forwarded_for ."<br>";
echo "REMOTE_ADDR: ". $remote_addr ."<br>";
echo "REMOTE_HOST: ". $remote_host ."<br>";
echo "REMOTE_PORT: ". $remote_port ."<br>";
echo "REMOTE_USER: ". $remote_user ."<br>";
echo "REDIRECT_REMOTE_USER: ". $redirect_remote_user ."<br>";
echo "HTTP_USER_AGENT: ". $http_user_agent ."<br>";
echo "LOCATION: ". $location ."<br>";
echo "LAT/LONG: ". $latlong ."<br>";
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment