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发起请求(我只能说出这个思路,但具体我实现不了,因为不会配置代理)