php fsockopen 伪造 post和get方法

作者:袖梨 2022-07-02

//fsocket模拟post提交
$purl = "http://localhost/netphp/test2.php?uu=rrrrrrrrrrrr";
print_r(parse_url($url));
sock_post($purl,"uu=55555555555555555");

//fsocket模拟get提交
function sock_get($url, $query)
{
   $info = parse_url($url);
   $fp = fsockopen($info["host"], 80, $errno, $errstr, 3);
   $head = "GET ".$info['path']."?".$info["query"]." HTTP/1.0 ";
   $head .= "Host: ".$info['host']." ";
   $head .= " ";
   $write = fputs($fp, $head);
   while (!feof($fp))
   {
    $line = fread($fp,4096);
    echo $line;
   }
}
sock_post($purl,"uu=rrrrrrrrrrrrrrrr");

function sock_post($url, $query)
{
   $info = parse_url($url);
   $fp = fsockopen($info["host"], 80, $errno, $errstr, 3);
   $head = "POST ".$info['path']."?".$info["query"]." HTTP/1.0 ";
   $head .= "Host: ".$info['host']." ";
   $head .= "Referer: http://".$info['host'].$info['path']." ";
   $head .= "Content-type: application/x-www-form-urlencoded ";
   $head .= "Content-Length: ".strlen(trim($query))." ";
   $head .= " ";
   $head .= trim($query);
   $write = fputs($fp, $head);
   while (!feof($fp))
   {
    $line = fread($fp,4096);
    echo $line;
   }
}

?>

相关文章

精彩推荐