2015-04-23 70 views
1

我想我對此不甚瞭解......php從代理得到ip

我正在開發一個php腳本,它在我的表中插入一個新行。但有一個名爲'ip_address'的字段,我想使用我有的代理來更改IP地址,以便不總是插入相同的IP(我的網站的服務器)。

我這樣做:

$loginpassw = 'login:passw'; 
$proxy_ip = 'xx.xxx.xxx.xxx'; 
$proxy_port = 'xx'; 
$url = "http://www.domain.com"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port); 
curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP'); 
curl_setopt($ch, CURLOPT_PROXY, $proxy_ip); 
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $loginpassw); 
$data = curl_exec($ch); 
curl_close($ch); 

如何獲得改變的IP?我想獲得它,並將其插入到數據庫中。

最好的問候,丹尼爾

編輯:我真正想要的是沒有被發現,我通過相同的IP做...

+0

什麼烏拉圭回合談的是[IP欺騙(http://en.wikipedia.org/wiki/IP_address_spoofing)。這是非法的,除了某些情況下 – Pushkar

回答

1

腳本接受GET查詢應該能夠獲得訪問此變量的客戶端IP地址:$_SERVER['REMOTE_ADDR']。這應該返回代理服務器的地址。

1

試試這個

function Get_Real_IpAddr() 
{ 
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet 
    { 
     $ip=$_SERVER['HTTP_CLIENT_IP']; 
    } 
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy 
    { 
     $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
    } 
    else 
    { 
     $ip=$_SERVER['REMOTE_ADDR']; 
    } 
    if (!$ip) 
     $ip = ''; 
    return $ip; 
} 
+0

好吧,我會嘗試。謝謝 –