php伪装请求ip,php搞定ip伪装的两种方式

第一种:写了段代码伪装ip,原理是,客户访问网站,获取客户ip,伪装客户ip去访问数据源。采集后处理缓存到/tmp公共目录(省了空间,不占用自己的空间),然后输出到客户浏览器。代码如下:

$url = "http://www.baidu.com";

$host = 'www.baidu.com';

$data = "要发送的数据";

$ip='121.186.1.57';

$headers['CLIENT-IP'] = $ip;

$headers['X-FORWARDED-FOR'] = $ip;

$headerArr = array();

foreach( $headers as $n => $v ) {

$headerArr[] = $n .':' . $v;

}

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, $url);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr );  //构造IP

// 我们在POST数据哦!

curl_setopt($ch, CURLOPT_POST, 1);

// 把post的变量加上

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$file_contents = curl_exec($ch);

curl_close($ch);

var_dump($file_contents);

第二种:采用socket请求的方式

$host = '192.168.1.100';

$fp = fsockopen($host,80);

if(!$fp)

{

die('创建连接失败,检查主机地址或网络连接');

}

//构造http请求串

$send = "POST $path HTTP/1.1\r\n";

$send .= "Host: $host\r\n";

$send .= "Content-type: application/x-www-form-urlencoded\r\n";

//                    $send .= 'X-FORWARDED-FOR:8.8.8.8' . "\r\n";

$send .= "CLIENT-IP:$per_ip\r\n";//伪造IP

$send .= "Content-length: " . strlen($data) . "\r\n";

$send .= "Connection: close\r\n\r\n";

$send .= $data . "\r\n\r\n";

//发送请求

fwrite($fp, $send, strlen($send));

//读取返回信息

$back = '';

while(!feof($fp))

{

$back .= fread($fp, 1024);

}

fclose($fp);

if(strpos($back, '成功'))

{

$flag = '成功';

sleep(1);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值