IT技术博客大学习 共学习 共进步

PHP用CURL伪造IP和来源

潘少宁的博客 2012-02-26 23:19:12 浏览 5,307 次

以前没有这么搞过。

今天群里一个朋友在问这个问题。

查了下,CURL确实很强悍的可以伪造IP和来源。

1.php 请求 2.php 。

1.php代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/2.php");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8'));  //构造IP
curl_setopt($ch, CURLOPT_REFERER, "http://www.gosoa.com.cn/ ");   //构造来路
curl_setopt($ch, CURLOPT_HEADER, 1);
$out = curl_exec($ch);
curl_close($ch);

2.php代码如下:

function getClientIp() {
    if (!empty($_SERVER["HTTP_CLIENT_IP"]))
        $ip = $_SERVER["HTTP_CLIENT_IP"];
    else if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    else if (!empty($_SERVER["REMOTE_ADDR"]))
        $ip = $_SERVER["REMOTE_ADDR"];
    else
        $ip = "err";
    return $ip;
}

echo "IP: " . getClientIp() . "";
echo "referer: " . $_SERVER["HTTP_REFERER"];

伪造成功,这是不是给“刷票”的朋友提供了很好的换IP的方案!!
哈哈。

建议继续学习

  1. Rolling cURL: PHP并发最佳实践 (阅读 11,364)
  2. curl 命令使用cookie (阅读 9,846)
  3. curl检查访问网页返回的状态码 (阅读 7,703)
  4. curl测试下载速度 (阅读 5,184)
  5. cURL基础教程 (阅读 4,925)
  6. curl快速实现网速测试 (阅读 4,704)
  7. curl常用功能简介 (阅读 3,986)
  8. 软件推荐:curl (阅读 3,624)
  9. 前端开发中的性能那点事(二)巧用curl 并发减少后端访问时间 (阅读 3,563)
  10. PHP重用curl句柄, CURLOPT_HTTPGET的BUG (阅读 2,964)