CrAcKeR: Skriptabbruch

Beitrag lesen

hallo,

hallo

Weiss jemand, wie ich [...] den Fehler einkreisen kann?
Ja: mehrfach drumherumlaufen.

haha ... witz komm raus du bist umzingelt *g*

Alternativ könntest du unter Umständen auch den relevanten Code angeben.

em ... das kann ich schon ... is nur relativ viel ;)
$r = new HTTPRequest("http://".$_POST["host"]."/logs.php?session=".$sess."&such=".$admin);
$ary = $r->DownloadToArry();

Dies wird bis zu 5 mal (mit unterschiedlichen parametern) ausgeführt. die Klasse HTTPRequest sieht dann so aus:
class HTTPRequest
{
   var $_fp;        // HTTP socket
   var $_url;        // full URL
   var $_host;        // HTTP host
   var $_protocol;    // protocol (HTTP/HTTPS)
   var $_uri;        // request URI
   var $_port;        // port

// scan url
   function _scan_url(){
       $req = $this->_url;
       $pos = strpos($req, '://');
       $this->_protocol = strtolower(substr($req, 0, $pos));
       $req = substr($req, $pos+3);
       $pos = strpos($req, '/');
       if($pos === false) $pos = strlen($req);
       $host = substr($req, 0, $pos);
       if(strpos($host, ':') !== false) list($this->_host, $this->_port) = explode(':', $host);
       else{
           $this->_host = $host;
           $this->_port = ($this->_protocol == 'https') ? 443 : 80;
       }
       $this->_uri = substr($req, $pos);
       if($this->_uri == '') $this->_uri = '/';
   }

// constructor
   function HTTPRequest($url){
       $this->_url = $url;
       $this->_scan_url();
   }

function DownloadToArry(){
       $crlf = "\r\n";
       // generate request
       $req = 'GET ' . $this->_uri . ' HTTP/1.0' . $crlf . 'Host: ' . $this->_host . $crlf . $crlf;
       // fetch
       $this->_fp = fsockopen(($this->_protocol == 'https' ? 'ssl://' : '') . $this->_host, $this->_port);
       fwrite($this->_fp, $req);
       while(is_resource($this->_fp) && $this->_fp && !feof($this->_fp)) $response .= fread($this->_fp, 1024);
       fclose($this->_fp);
       // split header and body
       $pos = strpos($response, $crlf . $crlf);
       if($pos === false) return($response);
       $header = substr($response, 0, $pos);
       $body = substr($response, $pos + 2 * strlen($crlf));
       // parse headers
       $headers = array();
       $lines = explode($crlf, $header);
       foreach($lines as $line)
           if(($pos = strpos($line, ':')) !== false)
               $headers[strtolower(trim(substr($line, 0, $pos)))] = trim(substr($line, $pos+1));
       return explode("\n",$body);
   }
}

Oder dafür sorgen, daß dein log-File eben nicht größer wird, sondern, sofern es diese Größe erreicht, einfach ein neues angelegt wird.

Geht leider nicht, da ich weder einfluss noch schreibrechte auf das File hab.

Grüße aus Berlin

Grüsse aus der Schweiz ;)
CrAcKeR