session aus url in cookie speichern? (clientseitig)

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

  • session aus url in cookie speichern? (clientseitig)

    Hallo,

    hab die suche jetzt das 3. mal durpforstet... ich finde ohne ende einträge über sessions aber leider alle Serverseitig, ich brauch es Clientseitig.

    Ich will mit einen script eine SID aus einer exrternen URL in ein Cookie speichern.

    Ungefähr so:
    Hier bekomm ich die SID:
    http://intranet.xxx.org

    Das script soll mir dann mittels fopen() den Seiteninhalt speichern:
    http://intranet.xxx.org./PE/mainfram...xecsite=1&cid=

    also muss das script ja die sessionid übergeben?!
    Aber dort fehlt den script ja noch die ausgelesene SID...

    Wie mach ich das jetzt das die session erhalten bleibt und ich den inhalt dieses links dann (mittels "fopen()") abspeichern kann?
    ___________________________________

    Momentan hab ich es so:
    PHP-Code:
    <?PHP

    #################################################################
    #
    #    Datei mit SessionID wird geholt und gespeichert        
    #
    #################################################################

    //Die Session initialisieren
    $ch curl_init("http://intranet.xxx.org./PE/mainframe.php");
    $fp fopen("intranet-xxx.txt""w");

    //Session Optionen setzen
    curl_setopt($chCURLOPT_FILE$fp);
    curl_setopt($chCURLOPT_HEADER0);

    //Ausfren der Aktionen
    curl_exec($ch);

    //Session beenden
    curl_close($ch);
    fclose($fp);


    #################################################################
    #
    #    SessionID wird aus gespeicherter Datei ausgelesen    
    #
    #################################################################

    // Datei in der die SID abgelegt werden soll
    $filename "sid.txt";

    // URL, die durchsucht werden soll
    $url "intranet-xxx.txt";

    // Zeichenfolge vor relevanten Eintren
    $startstring '?PHPSESSID=';

    // bis zum nhsten html tag bzw. Zeichenfolge nach relevanten Eintren
    $endstring '"'

    $file = @fopen ($url,"r");

    if (
    trim($file) == "") {
        echo 
    "Service out of order";
        } else {
        
    $i=0;
        while (!
    feof($file)) {

            
    // Wenn das File entsprechend gross ist, kann es unter Umstaeden    
            // notwendig sein, die Zahl 2000 entsprechend zu erhoeen. Im Falle
            // eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.

            
    $zeile[$i] = fgets($file,2000);
            
    $i++;
        }
        
    fclose($file);
    }

    // Nun werden die Daten entsprechend gefiltert.

    $resultat "";
    for (
    $j=0;$j<$i;$j++) {
        if (
    $resa strstr($zeile[$j],$startstring)) {
            
    $resb str_replace($startstring""$resa);
            
    $endstueck strstr($resb$endstring);
            
    $resultat .= str_replace($endstueck,"",$resb);
            
    $resultat .= "\n ";
        }
    }

    // Oeffnet die Datei zum schreiben
    $fh fopen("$filename""w");

    //Hier werden die Daten in eine Datei gespeichert.
    fwrite($fh$resultat."\n");
    fclose($fh);

    // Ausgabe der Daten
    echo "SID: ".$resultat."\n";
    return 
    $resultat;
                                
    ?>
    Ist aber nicht das wahre weil die SID ja bei:
    PHP-Code:
    $ch curl_init("http://intranet.xxx.org./PE/mainframe.php"); 
    bereits einmal gebraucht wird und sie wenn ich sie mit
    PHP-Code:
    $file = @fopen ($url,"r"); 
    wieder auslesen will bereits verbraucht ist!

    Hoffe ihr habt das irgendwie verstanden und könnt mir helfen!
    Zuletzt geändert von Nordin; 05.01.2006, 16:15.

  • #2
    Aha CURLOPT_COOKIESESSION könnte mich weiterbringen... das cookie heißst sicher "PHPSESSID"

    aber wie weiter?

    Kommentar


    • #3
      Kann mir denn wirklich keiner weiter helfen?

      Kommentar


      • #4
        Ich werde das Gefühl nicht los, dass du nicht ganz verstehst, wie Sessions funzen. Nur weil eine SessionID einmal für einen Request verwendet wurde, ist sie noch lange nicht abgelaufen. Sonst müsste ich bei meiner Seite ja für jeden Aufruf eine neue Session ID haben
        Ich will mit einen script eine SID aus einer exrternen URL in ein Cookie speichern.
        Und wenn die Seite keine Session Cookies verwendet ? Mach dir einen RegExp und schneide die Session ID aus der URL aus. Dann hänge die gefundene Var an deinen neuen Request an.
        Mach dich doch mal zum Thema Sessions im Manual schlau. Da stehen auch einige Beispiele in den User Comments.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar

        Lädt...
        X