zoukankan      html  css  js  c++  java
  • 伪造ip请求代码

    转自:http://gaojohn.blogchina.com/1257810.html

    HTTP_CLIENT_IP:可通过http头伪造
    HTTP_X_FORWARDED_FOR:可通过http头伪造
    REMOTE_ADDR:可能是用户真实IP也可能是代理IP

    服务端获取IP地址 http://www.taoyiz.com/util/ip 其代码如下:

    $s_onlineip = getenv(‘HTTP_CLIENT_IP’);
    echo “HTTP_CLIENT_IP:”.$s_onlineip.”<br/>\n”;
    $s_onlineip = getenv(‘HTTP_X_FORWARDED_FOR’);
    echo “HTTP_X_FORWARDED_FOR:”.$s_onlineip.”<br/>\n”;
    $s_onlineip = getenv(‘REMOTE_ADDR’);
    echo “REMOTE_ADDR:”.$s_onlineip.”<br/>\n”;
    $s_onlineip = $_SERVER['REMOTE_ADDR'];
    echo “\$_SERVER['REMOTE_ADDR']:”.$s_onlineip.”<br/>\n”;

    客户端代码:
    伪造IP测试:

    $url = ‘http://www.taoyiz.com/util/ip’;
    $data_string = ‘test=test’;
    $URL_Info    =    parse_url($url);
    $request = ”;
    if (!isset($URL_Info["port"]))
    $URL_Info["port"]=80;
    $request.=”POST “.$URL_Info["path"].” HTTP/1.1\n”;
    $request.=”Host: “.$URL_Info["host"].”\n”;
    $request.=”Referer: “.$URL_Info["host"].”\n”;
    $request.=”Content-type: application/x-www-form-urlencoded\n”;
    $request.=”X-Forwarded-For:192.168.1.4\n”;//HTTP_X_FORWARDED_FOR的值
    $request.=”client_ip:192.168.1.5\n”;//HTTP_CLIENT_IP的值
    $request.=”Content-length: “.strlen($data_string).”\n”;
    $request.=”Connection: close\n”;
    $request.=”\n”;
    $request.=$data_string.”\n”;
    //套接字读取(原来可以这样用,直接对句柄fputs()和fgets()进行发送和接收)
    $fp = fsockopen($URL_Info["host"], $URL_Info["port"]); fputs($fp, $request); $result = ”; while(!feof($fp)) { $result .= fgets($fp 1024); } fclose($fp); echo $result; 输出: HTTP_CLIENT_IP:192.168.1.5 HTTP_X_FORWARDED_FOR:192.168.1.4 REMOTE_ADDR:127.0.0.1 $_SERVER['REMOTE_ADDR']:127.0.0.1
    代理IP测试:
    $cUrl = curl_init();
    curl_setopt($cUrl CURLOPT_URL $url);
    curl_setopt($cUrl CURLOPT_RETURNTRANSFER 1);
    curl_setopt($cUrl CURLOPT_HEADER 1);
    curl_setopt($cUrl CURLOPT_USERAGENT “Mozilla/99.99″);
    //curl_setopt($cUrl CURLOPT_TIMEOUT 10);
    curl_setopt($cUrl CURLOPT_PROXY ’125.77.194.103:80′);
    $c = curl_exec($cUrl);
    curl_close($cUrl);
    echo $c;
    输出:
    HTTP_CLIENT_IP:
    HTTP_X_FORWARDED_FOR:
    REMOTE_ADDR:125.77.194.103
    $_SERVER['REMOTE_ADDR']:125.77.194.103

     

  • 相关阅读:
    深入浅出 消息队列 ActiveMQ
    win7系统如何恢复administrator用户
    为什么新建的管理员账号权限没有Administrator大?
    关于maven-jetty-plugin 自动重启问题
    jquery parent() parents() closest()区别
    【JEECG技术文档】JEECG部门管理员操作手册
    【JEECG技术文档】JEECG高级查询构造器使用说明
    【JEECG技术文档】数据权限自定义SQL表达式用法说明
    JEECG 3.7.2版本发布,企业级JAVA快速开发平台
    jeecg好用吗,看看大家的评价
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/2541297.html
Copyright © 2011-2022 走看看