Stefan: Cookie mit SameSite-Flag

Hallo,

wie kann ich mit PHP einen Cookie setzen, der den SameSite-Flag enthält? Habe es jetzt schon eine Weile versucht, aber es will leider nicht klappen.

Danke für Infos

  1. Tach!

    wie kann ich mit PHP einen Cookie setzen, der den SameSite-Flag enthält?

    Kurze Recherche, es gibt ein Proposal, das hat den Status "Implemented in PHP 7.3". Das Erscheinen von PHP 7.3 ist für Dezember geplant.

    dedlfix.

    1. hallo

      wie kann ich mit PHP einen Cookie setzen, der den SameSite-Flag enthält?

      Kurze Recherche, es gibt ein Proposal, das hat den Status "Implemented in PHP 7.3". Das Erscheinen von PHP 7.3 ist für Dezember geplant.

      Ich würde ein CSRF-Token vorziehen.

      1. Hallo,

        Ich würde ein CSRF-Token vorziehen.

        vielleicht verstehe ich es jetzt nicht richtig, aber der ist (zufällig) ja genau der Grund für meine Frage. Ich erzeuge einen CSRF-Token beim Aufruf der Seite und der wird als Cookie gespeichert. Und dieser Cookie soll mit dem SameSite-Flag versehen werden. Wie kann ich das mit einen CSRF-Token umgehen? Oder meinst Du vielleicht, der Token wäre schon ausreichend und da ist dem Cookie mit SameSite-Flag nicht mehr notwendig?

        Danke + MfG

        1. hallo

          Hallo,

          Ich würde ein CSRF-Token vorziehen.

          vielleicht verstehe ich es jetzt nicht richtig, aber der ist (zufällig) ja genau der Grund für meine Frage. Ich erzeuge einen CSRF-Token beim Aufruf der Seite und der wird als Cookie gespeichert. Und dieser Cookie soll mit dem SameSite-Flag versehen werden. Wie kann ich das mit einen CSRF-Token umgehen? Oder meinst Du vielleicht, der Token wäre schon ausreichend und da ist dem Cookie mit SameSite-Flag nicht mehr notwendig?

          Ein CSRF Token ist ein Token das von der SessionID abgeleitet ist, also durch die Session validiert werden kann.

          Aber das CSRF-Token wird mit dem Inhalt gesendet, nicht als Cookie.

          Man kann also jeden POST validieren, wenn das Token als Teil der POST-Daten gesendet wird.

          Im Unterschied dazu wird ein Cookie gesendet, auch wenn der Auslöser nur dein eingebundenes Bild in einer fremden Seite ist.

          Ich weiss jetzt nicht, wie genau SameSite wirken soll. Aber da die Unterstützung nicht grossartig ist und ein Browser auch vom User manipuliert werden kann, erscheint es mir ein sehr unzuverlässiges Pflaster zu sein.

  2. Hallo,

    wie kann ich mit PHP einen Cookie setzen, der den SameSite-Flag enthält? Habe es jetzt schon eine Weile versucht, aber es will leider nicht klappen.

    Danke für Infos

    Danke für die außerordentlich interessante und umfangreiche Problembeschreibung.

    MfG

    1. Hallo,

      Danke für die außerordentlich interessante und umfangreiche Problembeschreibung.

      war jetzt nicht so umfangreich, aber viel mehr kann ich dazu eigentlich auch nicht schreiben. Also ich erzeuge mit setcookie(); einen Cookie und dieser soll auch den SameSite-Flag haben. Allerdings ist dies aktuell wohl mit PHP noch nicht möglich. Im Netz habe ich einige Beispiele für Workarounds gefunden, es aber am Ende nicht hinbekommen.

      Meine Frage ist daher, gibt es aktuell eine Möglichkeit, wie man mit PHP einen Cookie erzeugen kann, der eben diesen SameSite-Flag hat?

      Danke + MfG

      PS: Im Einsatz ist PHP 7.0.30

      1. Hallo,

        Meine Frage ist daher, gibt es aktuell eine Möglichkeit, wie man mit PHP einen Cookie erzeugen kann, der eben diesen SameSite-Flag hat?

        Das geht bestimmt. Ein Set-Cookie ist ja auch nur ein Header mit einem bestimmten Wert, da kannst Du genausogut die header() Funktion verwenden.

        Und beschreib mal wie Du den Erfolg dieser Aktion testest. Also was es bringt.

        MfG