PHP使用curl伪造IP地址和header信息

企鹅博客
企鹅博客
企鹅博客
29001
文章
0
评论
2020年9月16日09:04:35 评论 4 views 1002字阅读3分20秒

curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_ADDR"]很难被伪造:

首先是client.php的代码

01 $headers['CLIENT-IP'] = '202.103.229.40';
02 $headers['X-FORWARDED-FOR'] = '202.103.229.40';
03
04 $headerArr = array();
05 foreach( $headers as $n => $v ) {
06 $headerArr[] = $n .':' . $v;
07 }
08
09 ob_start();
10 $ch = curl_init();
11 curl_setopt ($ch, CURLOPT_URL, "http://localhost/curl/server.php");
12 curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr ); //构造IP
13 curl_setopt ($ch, CURLOPT_REFERER, "http://www.163.com/ "); //构造来路
14 curl_setopt( $ch, CURLOPT_HEADER, 1);
15
16 curl_exec($ch);
17 curl_close ($ch);
18 $out = ob_get_contents();
19 ob_clean();
20
21 echo $out;

然后是server.php

01 function GetIP(){
02 if(!emptyempty($_SERVER["HTTP_CLIENT_IP"]))
03 $cip = $_SERVER["HTTP_CLIENT_IP"];
04 else if(!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"]))
05 $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
06 else if(!emptyempty($_SERVER["REMOTE_ADDR"]))
07 $cip = $_SERVER["REMOTE_ADDR"];
08 else
09 $cip = "无法获取!";
10 return $cip;
11 }
12 echo "
访问IP: ".GetIP()."
";
13 echo "
访问来路: ".$_SERVER["HTTP_REFERER"];
继续阅读
weinxin
欢迎加入中国站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
PHP操作MongoDB实现增删改查功能 php教程

PHP操作MongoDB实现增删改查功能

这篇文章主要介绍了PHP操作MongoDB实现增删改查功能,结合实例形式总结分析了php操作MongoDB的常用技巧,并附带php7操作MongoDB方法,具有一定参考借鉴价值,需要的朋友可以参考下 ...
php copy 函数教程_PHP教程 php教程

php copy 函数教程_PHP教程

下面来看看这款php copy 函数教程吧。 copy ( PHP 4中, PHP 5中) 复制-复制文件 描述 布尔copy(字符串$来源,字符串$ dest < ,资源$背景> ) 使文件的一个c...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: