Marco: Ajax und Cookies

Hallo

Mit einem XmlHttpRequest sende ich Login-Daten an einen Server. Als responseText erhalte ich die Seite auf welche ich nach dem Login weitergeleitet werde. Nun wird dabei natürlich ein Cookie gesetzt.

Nachdem ich mich also eingeloggt habe, fülle ich mit XmlHttpRequest wieder ein Formular aus (für welches man sich eben einloggen musste) und sende dieses wieder mit XmlHttpRequest. Da beim Login ein Cookie gesetzt wurde, muss dieses natürlich nun immernoch vorhanden sein. Wie stelle ich das sicher, bzw. wie gehe ich mit den Cookies um? Muss ich diese beim zweiten Request wieder mitsenden?

Viele Grüsse
Marco

  1. Mit einem XmlHttpRequest sende ich Login-Daten an einen Server. Als responseText erhalte ich die Seite auf welche ich nach dem Login weitergeleitet werde. Nun wird dabei natürlich ein Cookie gesetzt.

    Warum erst dann? Sende direkt beim Browserrequest auf die erste Seite ein Sessioncookie mit - das wird vom AJAX dann bei jedem Request wieder zurück an den Server geschickt (sofern der Benutzer dem Browser die Annahme von Cookies erlaubt hat).

    Nachdem ich mich also eingeloggt habe, fülle ich mit XmlHttpRequest wieder ein Formular aus (für welches man sich eben einloggen musste) und sende dieses wieder mit XmlHttpRequest. Da beim Login ein Cookie gesetzt wurde, muss dieses natürlich nun immernoch vorhanden sein. Wie stelle ich das sicher, bzw. wie gehe ich mit den Cookies um? Muss ich diese beim zweiten Request wieder mitsenden?

    Cookies wandern automatisch an den Server, auch bei AJAX-Requests.

    1. Mit einem XmlHttpRequest sende ich Login-Daten an einen Server. Als responseText erhalte ich die Seite auf welche ich nach dem Login weitergeleitet werde. Nun wird dabei natürlich ein Cookie gesetzt.

      Warum erst dann? Sende direkt beim Browserrequest auf die erste Seite ein Sessioncookie mit.

      Wie? Ich habe kein Zugriff auf serverseitige Auswertungen. Ich versuche mir so z.B. den täglichen Login auf einer Seite zu ersparen.

      Viele Grüsse
      Marco

      1. Mit einem XmlHttpRequest sende ich Login-Daten an einen Server. Als responseText erhalte ich die Seite auf welche ich nach dem Login weitergeleitet werde. Nun wird dabei natürlich ein Cookie gesetzt.

        Warum erst dann? Sende direkt beim Browserrequest auf die erste Seite ein Sessioncookie mit.

        Wie? Ich habe kein Zugriff auf serverseitige Auswertungen. Ich versuche mir so z.B. den täglichen Login auf einer Seite zu ersparen.

        Klappt nicht, würde ich meinen.

        Nutze einen Browser, der deine Logindaten passend speichert und per Schnelltastenkombi ausfüllt und abschickt.

        Ansonsten kriegst du es irgendwann mit der Same-Origin-Policy zu tun.

        1. Hi

          Ansonsten kriegst du es irgendwann mit der Same-Origin-Policy zu tun.

          Das dachte ich mir eben auch. Aber dann habe ich festgestellt dass es offenbar doch funktioniert wenn ich ein HTML-Dokument lokal speichere und dann die Daten an die usrprüngliche fremde URL sende...?

          Gilt die Same-Origin-Policy z.B. auch für (Windows Vista) Sidebar Gadgets oder .hta Applikationen?

          Viele Grüsse
          Marco