php偽造ip
Ⅰ 如何向php偽造自己的ip
要看具體代碼是怎麼寫的,如果代碼寫得不好是有可能偽造的。
獲取IP的方法有幾種,通過例子看一下,這個是ThinkPHP里的獲取IP的函數:
/**
* 獲取客戶端IP地址
* @param integer $type 返回類型 0 返回IP地址 1 返回IPV4地址數字
* @param boolean $adv 是否進行高級模式獲取(有可能被偽裝)
* @return mixed
*/
function get_client_ip($type = 0,$adv=false) {
$type = $type ? 1 : 0;
static $ip = NULL;
if ($ip !== NULL) return $ip[$type];
if($adv){
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$arr = explode(',',
你可以去後盾人平台看看,裡面的東西不錯
Ⅱ PHP獲取客戶端外網ip代碼
function get_real_ip()
{
$ip=FALSE;
//客戶端IP 或 NONE
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
//多重代理伺服器下的客戶端真實IP地址(可能偽造),如果沒有使用代理,此欄位為空
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
//客戶端IP 或 (最後一個)代理伺服器 IP
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
Ⅲ php爬蟲程序中怎麼樣偽造ip地址防止被封
使用IP代理
Ⅳ php如何獲取通過CURL或file_get_contents抓取者的IP地址
網路搜一下防止採集方面的知識,CURL或file_get_contents可以模擬用戶行為,獲取ip跟普通用戶ip其實是一樣的,關鍵是怎麼去區別他們,這就需要在客戶端做手腳,一般都用js來在客戶端做手腳來區別。
Ⅳ php爬蟲程序中怎麼樣偽造ip地址防止被封
使用618動態IP地址就可以,電信ADSL每次撥號就會更換一個IP,可以按這個思路去做。
可以根據爬蟲對象的限制策略,寫個程序進行定時定量自動重撥就可以。
Ⅵ 如何使用php+curl偽造IP進行url訪問
curl_setopt($ch,CURLOPT_HTTPHEADER,array('X-FORWARDED-FOR:192.192.121.28','CLIENT-IP:192.192.121.204'));
curl_setopt($ch,CURLOPT_REFERER,"http://www.zyimm.com");
curl_setopt($ch,CURLOPT_PROXY,"http://203.212.81.28");
Ⅶ 如何向PHP偽造自己的ip
要看具體代碼是怎麼寫的,如果代碼寫得不好是有可能偽造的。
獲取IP的方法有幾種,通過例子看一下,這個是ThinkPHP里的獲取IP的函數:
/**
* 獲取客戶端IP地址
* @param integer $type 返回類型 0 返回IP地址 1 返回IPV4地址數字
* @param boolean $adv 是否進行高級模式獲取(有可能被偽裝)
* @return mixed
*/
function get_client_ip($type = 0,$adv=false) {
$type = $type ? 1 : 0;
static $ip = NULL;
if ($ip !== NULL) return $ip[$type];
if($adv){
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$pos = array_search('unknown',$arr);
if(false !== $pos) unset($arr[$pos]);
$ip = trim($arr[0]);
}elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
// IP地址合法驗證
$long = sprintf("%u",ip2long($ip));
$ip = $long ? array($ip, $long) : array('0.0.0.0', 0);
return $ip[$type];
}
$_SERVER['HTTP_CLIENT_IP'] 是HTTP信息中的IP,存在於http請求的header中,可以偽造;
$_SERVER["REMOTE_ADDR"] 可取得客戶端的 IP 地址,但如果客戶端是使用代理伺服器來訪問,那取到的就是代理伺服器的 IP 地址,而不是真正的客戶端 IP 地址。不可以偽造,但可以用代理。
$_SERVER["HTTP_X_FORWARDED_FOR"] 可以透過代理伺服器取得客戶端的真實 IP 地址,但有時候也不管用,也可以偽造。
Ⅷ 如何使用php+curl偽造IP進行url訪問
一般這種情境下,在伺服器端存儲判斷,工作量會比較大,對伺服器的要求會比較高,可以考慮在客戶端設置cookie的方式記錄上次訪問的時間,當訪問時,只需獲取cookie 的時間值來進行判斷即可,此時不符合記錄時間間斷的就不記錄
Ⅸ php的CURL能夠偽造IP嗎
掛代理後php端獲得到地真實ip應該是代理ip地址。
remote_addr是模仿不鳥滴。。
Ⅹ php如何獲取IP並發送
這個是做不到的,因為在b.php這個頁面看來,a.php和你都是客戶端,客戶端是沒有能力偽造自己的ip的
換個思路的話,你可以在你本機部署個a.php,或者你的機器開代理,讓a.php用代理的方式訪問你的機器,然後再向b.php發起請求(我只能說出這個思路,但具體我實現不了,因為不會配置代理)