| Server IP : 172.67.201.108 / Your IP : 216.73.216.37 Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5 System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/home2/cgny/public_html/2019/ |
Upload File : |
<!DOCTYPE html>
<html>
<head>
<title>IP Address Test - All Variations</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 800px;
margin: 50px auto;
padding: 20px;
background-color: #f5f5f5;
}
h1 {
color: #333;
border-bottom: 2px solid #4CAF50;
padding-bottom: 10px;
}
.ip-section {
background-color: white;
padding: 15px;
margin: 15px 0;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.ip-label {
font-weight: bold;
color: #555;
margin-bottom: 5px;
}
.ip-value {
font-family: monospace;
color: #2196F3;
font-size: 14px;
word-break: break-all;
}
.ip-value.empty {
color: #999;
font-style: italic;
}
.note {
background-color: #fff3cd;
border-left: 4px solid #ffc107;
padding: 10px;
margin: 15px 0;
}
</style>
</head>
<body>
<h1>IP Address Variations</h1>
<?php
// Get all possible IP address variations
// Cloudflare specific headers
$cf_connecting_ip = isset($_SERVER['HTTP_CF_CONNECTING_IP']) ? $_SERVER['HTTP_CF_CONNECTING_IP'] : null;
$cf_ipcountry = isset($_SERVER['HTTP_CF_IPCOUNTRY']) ? $_SERVER['HTTP_CF_IPCOUNTRY'] : null;
$cf_ray = isset($_SERVER['HTTP_CF_RAY']) ? $_SERVER['HTTP_CF_RAY'] : null;
$cf_visitor = isset($_SERVER['HTTP_CF_VISITOR']) ? $_SERVER['HTTP_CF_VISITOR'] : null;
// Standard proxy/load balancer headers
$x_forwarded_for = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : null;
$x_real_ip = isset($_SERVER['HTTP_X_REAL_IP']) ? $_SERVER['HTTP_X_REAL_IP'] : null;
$x_forwarded = isset($_SERVER['HTTP_X_FORWARDED']) ? $_SERVER['HTTP_X_FORWARDED'] : null;
$x_cluster_client_ip = isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) ? $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'] : null;
// Direct connection IP
$remote_addr = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null;
// Function to display IP value
function displayIP($label, $value) {
echo '<div class="ip-section">';
echo '<div class="ip-label">' . htmlspecialchars($label) . ':</div>';
if ($value !== null && $value !== '') {
echo '<div class="ip-value">' . htmlspecialchars($value) . '</div>';
} else {
echo '<div class="ip-value empty">Not set</div>';
}
echo '</div>';
}
// Display Cloudflare headers
echo '<h2>Cloudflare Headers</h2>';
displayIP('CF-Connecting-IP (Original Client IP)', $cf_connecting_ip);
displayIP('CF-IPCountry', $cf_ipcountry);
displayIP('CF-RAY', $cf_ray);
displayIP('CF-Visitor', $cf_visitor);
// Display standard proxy headers
echo '<h2>Proxy/Load Balancer Headers</h2>';
displayIP('X-Forwarded-For', $x_forwarded_for);
displayIP('X-Real-IP', $x_real_ip);
displayIP('X-Forwarded', $x_forwarded);
displayIP('X-Cluster-Client-IP', $x_cluster_client_ip);
// Display direct connection
echo '<h2>Direct Connection</h2>';
displayIP('REMOTE_ADDR (Direct Connection IP)', $remote_addr);
// Determine the most likely real client IP
echo '<h2>Detected Real Client IP</h2>';
$real_ip = null;
if ($cf_connecting_ip) {
$real_ip = $cf_connecting_ip;
$source = 'CF-Connecting-IP (Cloudflare)';
} elseif ($x_real_ip) {
$real_ip = $x_real_ip;
$source = 'X-Real-IP';
} elseif ($x_forwarded_for) {
// X-Forwarded-For can contain multiple IPs, get the first one (original client)
$ips = explode(',', $x_forwarded_for);
$real_ip = trim($ips[0]);
$source = 'X-Forwarded-For (first IP)';
} else {
$real_ip = $remote_addr;
$source = 'REMOTE_ADDR (direct connection)';
}
displayIP('Most Likely Real Client IP', $real_ip);
echo '<div class="note"><strong>Note:</strong> Detected from ' . htmlspecialchars($source) . '</div>';
// Show all headers for debugging
echo '<h2>All HTTP Headers (for debugging)</h2>';
echo '<div class="ip-section">';
echo '<pre style="background: #f9f9f9; padding: 10px; overflow-x: auto;">';
foreach ($_SERVER as $key => $value) {
if (strpos($key, 'HTTP_') === 0 || $key === 'REMOTE_ADDR') {
echo htmlspecialchars($key) . ' = ' . htmlspecialchars($value) . "\n";
}
}
echo '</pre>';
echo '</div>';
?>
</body>
</html>