儘管使用代理,仍檢索真實訪客IP 位址
取得訪客IP 位址常用的PHP 代碼是:
但是,當代理程式運行時,此方法無法捕獲真實IP。為了尋求此問題的解決方案,讓我們深入研究替代方法。
用於IP 確定的自訂PHP 函數
考慮到CloudFlare 連接,提供的PHP 程式碼提供了全面的解決方案以及各種其他因素:
function getUserIP()
{
// Handle CloudFlare connections
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
$_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP))
{
$ip = $client;
}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{
$ip = $forward;
}
else
{
$ip = $remote;
}
return $ip;
}
$user_ip = getUserIP();
此程式碼將 IP 位址指派給變數 $user_ip,然後可以根據需要在 PHP 腳本中使用該變數。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3