PHP: Get $_SERVER Variables
Get $_SERVER Variables
function shapeSpace_server_vars() { if (! isset($_SERVER)) return; $postvars = file_get_contents(' php://input '); $port = isset($_SERVER['REMOTE_PORT']) ? $_ SERVER['REMOTE_PORT'] : 'undefined'; $method = isset($_SERVER['REQUEST_METHOD']) ? $_ SERVER['REQUEST_METHOD'] : 'undefined'; $protocol = isset($_SERVER['SERVER_PROTOCOL']) ? $_ SERVER['SERVER_PROTOCOL'] : 'undefined'; $connect = isset($_SERVER['HTTP_CONNECTION']) ? $_ SERVER['HTTP_CONNECTION'] : 'undefined'; $gateway = isset($_SERVER['GATEWAY_INTERFACE']) ? $_ SERVER['GATEWAY_INTERFACE'] : 'undefined'; $referer = isset($_SERVER['HTTP_REFERER']) ? $_ SERVER['HTTP_REFERER'] : 'undefined'; $server = isset($_SERVER['SERVER_NAME']) ? $_ SERVER['SERVER_NAME'] : 'undefined'; $http_host = isset($_SERVER['HTTP_HOST']) ? $_ SERVER['HTTP_HOST'] : 'undefined'; $request = isset($_SERVER['REQUEST_URI']) ? $_ SERVER['REQUEST_URI'] : 'undefined'; $query = isset($_SERVER['QUERY_STRING']) ? $_ SERVER['QUERY_STRING'] : 'undefined'; $agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_ SERVER['HTTP_USER_AGENT'] : 'undefined'; $ip_remote = isset($_SERVER['REMOTE_ADDR']) ? $_ SERVER['REMOTE_ADDR'] : 'undefined'; $ip_client = isset($_SERVER['HTTP_CLIENT_IP']) ? $_ SERVER['HTTP_CLIENT_IP'] : 'undefined'; $ip_forwrd = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_ SERVER['HTTP_X_FORWARDED_FOR'] : 'undefined'; // $host_remote = gethostbyaddr($ip_remote); // $host_client = gethostbyaddr($ip_client); // $host_forwrd = gethostbyaddr($ip_forwrd); $vars = array( 'PORT' => $port, 'METHOD' => $method, 'PROTOCOL' => $protocol, 'CONNECT' => $connect, 'GATEWAY' => $gateway, 'REFERRER' => $referer, 'SERVER' => $server, 'HTTP HOST' => $http_host, 'REQUEST' => $request, 'QUERY' => $query, 'USER AGENT' => $agent, 'POST VARS' => $postvars, 'IP REMOTE' => $ip_remote, 'IP CLIENT' => $ip_client, 'IP FORWARD' => $ip_forwrd, // 'HOST REMOTE' => $host_remote, // 'HOST CLIENT' => $host_client, // 'HOST FORWARD' => $host_forwrd, ); foreach ($vars as $key => $val) { $vars[$key] = shapeSpace_clean($val); } return $vars; }
function shapeSpace_clean($string) { $string = trim($string); $string = strip_tags($string); $string = stripslashes($string); $string = str_replace("\n", '', $string); $string = htmlentities($string, ENT_QUOTES); $string = trim($string); return $string; }
Example usage
function shapeSpace_check_status() { $subject = 'DIY Server Uptime Monitor'; $email = ' hello@example.com '; $date = date('F jS Y, h:ia', time()); $vars = shapeSpace_server_vars(); // <-- get the server variables $message = $date . "\n\n"; foreach ($vars as $key => $val) { $message .= $ key .': '. $val . "\n"; // <-- looping thru variables } mail($email, $subject, $message, 'From: '. $ email); }
Notes
// $host_remote = gethostbyaddr($ip_remote); // $host_client = gethostbyaddr($ip_client); // $host_forwrd = gethostbyaddr($ip_forwrd); . . . // 'HOST REMOTE' => $host_remote, // 'HOST CLIENT' => $host_client, // 'HOST FORWARD' => $host_forwrd,