Get IP Address, Browser, OS info

<?php
 // https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
 $user_agent = $_SERVER['HTTP_USER_AGENT'];

function get_client_ip() {
 $ipaddress = '';
 if (getenv('HTTP_CLIENT_IP'))
 $ipaddress = getenv('HTTP_CLIENT_IP');
 else if(getenv('HTTP_X_FORWARDED_FOR'))
 $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
 else if(getenv('HTTP_X_FORWARDED'))
 $ipaddress = getenv('HTTP_X_FORWARDED');
 else if(getenv('HTTP_FORWARDED_FOR'))
 $ipaddress = getenv('HTTP_FORWARDED_FOR');
 else if(getenv('HTTP_FORWARDED'))
 $ipaddress = getenv('HTTP_FORWARDED');
 else if(getenv('REMOTE_ADDR'))
 $ipaddress = getenv('REMOTE_ADDR');
 else
 $ipaddress = 'UNKNOWN';
 return $ipaddress;
 }

// Function to get the client IP address
 function get_client_ip2() {
 $ipaddress = '';
 if (isset($_SERVER['HTTP_CLIENT_IP']))
 $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
 else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
 $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
 else if(isset($_SERVER['HTTP_X_FORWARDED']))
 $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
 else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
 $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
 else if(isset($_SERVER['HTTP_FORWARDED']))
 $ipaddress = $_SERVER['HTTP_FORWARDED'];
 else if(isset($_SERVER['REMOTE_ADDR']))
 $ipaddress = $_SERVER['REMOTE_ADDR'];
 else
 $ipaddress = 'UNKNOWN';
 return $ipaddress;
 }

function getOS() {

global $user_agent;

$os_platform = "Unknown OS Platform";

$os_array = array(
 '/windows nt 10/i' => 'Windows 10',
 '/windows nt 6.3/i' => 'Windows 8.1',
 '/windows nt 6.2/i' => 'Windows 8',
 '/windows nt 6.1/i' => 'Windows 7',
 '/windows nt 6.0/i' => 'Windows Vista',
 '/windows nt 5.2/i' => 'Windows Server 2003/XP x64',
 '/windows nt 5.1/i' => 'Windows XP',
 '/windows xp/i' => 'Windows XP',
 '/windows nt 5.0/i' => 'Windows 2000',
 '/windows me/i' => 'Windows ME',
 '/win98/i' => 'Windows 98',
 '/win95/i' => 'Windows 95',
 '/win16/i' => 'Windows 3.11',
 '/macintosh|mac os x/i' => 'Mac OS X',
 '/mac_powerpc/i' => 'Mac OS 9',
 '/linux/i' => 'Linux',
 '/ubuntu/i' => 'Ubuntu',
 '/iphone/i' => 'iPhone',
 '/ipod/i' => 'iPod',
 '/ipad/i' => 'iPad',
 '/android/i' => 'Android',
 '/blackberry/i' => 'BlackBerry',
 '/webos/i' => 'Mobile'
 );

foreach ($os_array as $regex => $value) {

if (preg_match($regex, $user_agent)) {
 $os_platform = $value;
 }

}

return $os_platform;

}

function getBrowser() {

global $user_agent;

$browser = "Unknown Browser";

$browser_array = array(
 '/mobile/i' => 'Handheld Browser',
 '/msie/i' => 'Internet Explorer',
 '/Trident\/7.0; rv:11.0/i' => 'Internet Explorer 11',
 '/firefox/i' => 'Firefox',
 '/safari/i' => 'Safari',
 '/chrome/i' => 'Chrome',
 '/edge/i' => 'Edge',
 '/opera/i' => 'Opera',
 '/netscape/i' => 'Netscape',
 '/maxthon/i' => 'Maxthon',
 '/konqueror/i' => 'Konqueror',
 );

foreach ($browser_array as $regex => $value) {

if (preg_match($regex, $user_agent)) {
 $browser = $value;
 }

}

return $browser;

}
 $user_os = getOS();
 $user_browser = getBrowser();

$device_details = "<strong>Browser: </strong>".$user_browser."<br /><strong>Operating System: </strong>".$user_os."";

//print_r($device_details);

echo("<br /><br /><br />".$_SERVER['HTTP_USER_AGENT']."");

echo "<br /><br /><br />".get_client_ip2();
 ?>
Advertisements