Julius: Formular kapern

Beitrag lesen

Hallo Camping_RIDER, @heinetz

Leider bin ich mit Sessions nicht 100% firm, vor allem dann nicht, wenn ein Server mit PHP auf der Clientseite steht.

Man muss sich die Session-ID „merken“ und dann später wieder mitsenden. Auslesen des HTTP-Headers:

$content=file_get_contents('https://google.com');
print_r($http_response_header);

... ergibt u. a.:

    [16] => Set-Cookie: NID=98=Tv6c1wAK4LlKiRlk5M9zv8NHvG1lURRegy18LKdCKfc3SwIwqUKgimerYjGKjxP4yqOdCWrREt808EY-yS2YciLG353Wa-57ESrTxgFm91l5-Rj77oePOhFES5iFhnLK; expires=Thu, 31-Aug-2017 05:16:34 GMT; path=/; domain=.google.de; HttpOnly

Das Cookie müsste man dann nur noch auslesen und wieder senden, das sollte mittels eines Stream-Kontexts gelingen.

Wenn die Session das Problem ist müsstest du das irgendwie hinbekommen, dass die Session vom Abrufen des Dokuments durch deinen Server gehalten wird und entsprechend für den Request, der die Daten sendet, wieder aufgenommen wird.

Das Cookie kann man entweder an den Nutzer „durchreichen“ oder wiederum in einer Session (auf Server 1) speichern:

Nutzer ↔ Server 1 ↔ Server 2 (Ursprungsserver des Formulars)
    SID=123     SID=456

Ob die Angabe von PHPSESSID als GET-Parameter dafür eigentlich schon ausreichen müsste oder nicht vermag ich aus dem Stegreif nicht zu sagen.

Das ist Einstellungssache, Cookies sind gegenüber der Übermittlung als URL-Parameter zu bevorzugen – ich denke nicht, dass der Server die SID via URL entgegennimmt, wenn er auf Cookies konfiguriert wurde.

Gruß
Julius