当前位置:首页 > PHP教程 > php高级应用 > 列表

php fsockopen 伪造 post和get方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-09 17:16:02 浏览: 评论:0 
  1. <?php 
  2. //fsocket模拟post提交 
  3. $purl = "http://localhost/netphp/test2.php?uu=rrrrrrrrrrrr"; 
  4. print_r(parse_url($url)); 
  5. sock_post($purl,"uu=55555555555555555"); 
  6.  
  7. //fsocket模拟get提交 
  8. function sock_get($url, $query) 
  9. { 
  10.    $info = parse_url($url); 
  11.    $fp = fsockopen($info["host"], 80, $errno, $errstr, 3); 
  12.    $head = "GET ".$info['path']."?".$info["query"]." HTTP/1.0 "; 
  13.    $head .= "Host: ".$info['host']." "; 
  14.    $head .= " "; 
  15.    $write = fputs($fp, $head); 
  16.    while (!feof($fp)) 
  17.    { 
  18.     $line = fread($fp,4096); 
  19.     echo $line; 
  20.    } 
  21. } 
  22. sock_post($purl,"uu=rrrrrrrrrrrrrrrr"); 
  23.  
  24. function sock_post($url, $query) 
  25. { 
  26.    $info = parse_url($url); 
  27.    $fp = fsockopen($info["host"], 80, $errno, $errstr, 3); 
  28.    $head = "POST ".$info['path']."?".$info["query"]." HTTP/1.0 "; 
  29.    $head .= "Host: ".$info['host']." "; 
  30.    $head .= "Referer: http://".$info['host'].$info['path']." "; 
  31.    $head .= "Content-type: application/x-www-form-urlencoded "; 
  32.    $head .= "Content-Length: ".strlen(trim($query))." "; 
  33.    $head .= " ";//开源代码phpfensi.com 
  34.    $head .= trim($query); 
  35.    $write = fputs($fp, $head); 
  36.    while (!feof($fp)) 
  37.    { 
  38.     $line = fread($fp,4096); 
  39.     echo $line; 
  40.    } 
  41. } 
  42.  
  43. ?>

Tags: fsockopen 伪造 post方法

分享到: