[cURL] nach Login wieder ausgeloggt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [cURL] nach Login wieder ausgeloggt

    Hallo,

    ich logge mich derzeit mit cURL in mein Forum ein.
    Das klappt auch ganz gut. Allerdings werde ich ausgeloggt sobald ich nach dem Login navigiere... (also z.b. auf einem Bereich im Forum klicke)

    Kann mir jemand einen Tip geben woran das liegen könnte?
    Habe ich vielleicht etwas vergessen?


    Folgendes habe ich in einer entsprechenden Function stehen:

    PHP-Code:
    $ch curl_init(); 
        
    $header = array();
    $header[] = "Location: ".$sites_ary[$get_ary]['ref'];
     
    curl_setopt ($chCURLOPT_UNRESTRICTED_AUTH1);
    curl_setopt ($chCURLOPT_AUTOREFERER1);
    curl_setopt ($chCURLOPT_URL$sites_ary[$get_ary]['link']);
    curl_setopt ($chCURLOPT_HTTPHEADER$header);
    curl_setopt ($chCURLOPT_HEADER0); 
    curl_setopt ($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt ($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
    curl_setopt ($chCURLOPT_FRESH_CONNECT1); 
    curl_setopt ($chCURLOPT_RETURNTRANSFER1); 
    curl_setopt ($chCURLOPT_UNRESTRICTED_AUTH1); 
    curl_setopt ($chCURLOPT_TIMEOUT40);
    curl_setopt ($chCURLOPT_POST1);
    curl_setopt ($chCURLOPT_POSTFIELDS,$postfields); 
    curl_setopt ($chCURLOPT_REFERER$sites_ary[$get_ary]['ref']);
    curl_setopt ($chCURLOPT_COOKIESESSIONtrue);
    curl_setopt ($chCURLOPT_COOKIEJAR"my_cookies.txt");
    curl_setopt ($chCURLOPT_COOKIEFILE"my_cookies.txt");

    $result curl_exec ($ch);
    curl_close ($ch);
        
    return 
    str_ireplace('<head>''<head><base href="'.$sites_ary[$get_ary]['host'].'" />'$result); 
    Wie gesagt Login funktioniert. Nur Naviegieren kann ich dann auf der Seite nicht. Werde dann ausgeloggt.


    Gruß Nordin
    Zuletzt geändert von Nordin; 14.04.2009, 01:36.

  • #2
    Es könnte ein ganz simples Problem vorliegen: womöglich hast du das Akzeptieren von Cookies für den Browser deaktiviert? Oder für die Site..

    Hast du im Code auch cookie Befehle bzw session_start() stehen? Vielleicht wird erst gar kein Cookie gesendet.

    Gruß

    Kommentar


    • #3
      Hmm also cookies werden akzeptiert... ich hatte es auch ohne curl probiert.

      ein session_start() wird auch in meiner datei ganz oben ausgeführt:
      PHP-Code:
      if(!isset($_SESSION)) {session_start();} 
      Weitere Cookiebefehle habe ich abern icht drin stehen.
      Aber ich glaube du hast recht... am Cookie wird es sicher liegen.

      In die "my_cookies.txt" wird immer was reingeschrieben.
      Ich war der Annahme das curl diese Datei dann nimmt und daraus dann das cookie erstellt bzw. sendet.

      Kommentar


      • #4
        Durch das Erweitern mit folgendem konnte ich es lösen.

        PHP-Code:
            $fp fopen('my_cookies.txt''r');
            while (
        $line fgets($fp)) {
                
        $line preg_replace('/\s*#.*$/'''$line);
                if (
        trim($line) == '') continue;
                
        $fields explode("\t"trim($line));
                
        $host explode('.'$fields[0]);
                
        $host implode('.'$host);
                
        header('Set-Cookie: '.$fields[5].'='.$fields[6].'; Domain='.$host.'; Path=/'false);
            }
            
        fclose($fp); 

        Kommentar

        Lädt...
        X