Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Cookie expire date

Einklappen

Neue Werbung 2019

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

  • #16
    das Format hinter COOKIE ist nicht RFC-treu
    Ja das dachte ich mir.

    Kommentar


    • #17
      @Phpyton: Ich würde auf die Funktion ganz verzichten. Das stammte aus einer Zeit, in der Browser noch nichts konnten, aber was du versuchst ist reines Browserverhalten nachzubilden. Wenn ein User der Meinung ist seine Logindaten nicht jedes Mal neu eingeben zu müssen, dann soll er sie mit seinem Browser speichern und ihn sein Browser jedes Mal einloggen. Denn so weiss er auch selbst, wo er sein Passwort speichert (zuhause) und wo nicht (Internet-Cafe). Ich finde es spricht rein gar nichts für das Implementieren einer solchen Funktion. Wenn du keinen trifftigen Grund hast, dann lass sie am besten ganz weg. Ich z.B. hinterlege alle Logininformationen direkt in meinem Firefox und verzichte auf das Aktivieren solcher Funktionen.
      Aber wir können ja mal gerne frage, wer die Implementierung für sinnvoll hielte, bzw. selbst auf Seiten diese Funktion nutzt.
      Anmerkung: Ausserdem ist das wie mit JavaScript. Wenn ein User Cookies nicht aktiviert hat, kann er die Funktion ohnehin nicht nutzen. Und bau lieber eine Seite, die du so weit wie möglichst von Browsereinstellungen entkoppelst.

      Kommentar


      • #18
        Zitat von Tropi Beitrag anzeigen
        1. Das Jahr 2038 ist ein Problem von 32-Bit Systemen. Ich denke das wir in 25 Jahren davon nicht mehr viele sehen werden.
        2. Wenn du glaubst das deine Anwendung 25 Jahre unverändert übersteht lebst du weit weg von der Realität. Vor 25 Jahren gabs PHP noch nicht mal, und ich behaupte in den nächsten 25 Jahren wird sich da ähnlich viel tun.
        ++

        De folgenden Ausführungen haben daher mehr informativen Charakter.

        Für das 2038 Problem ist nicht die PHP-Version verantwortlich, sondern das System (32/64 Bit). Die Konstante PHP_INT_SIZE gibt darüber Auskunft.
        Für 32-Bit-Systeme hat PHP_INT_SIZE den Wert 4, für 64-bit-Systeme den Wert 8.

        Die Konstante kann benutzt werden, um die Lebenszeit des Cookies systemunabhängig auf einen möglichst großen Wert zu setzen:

        PHP-Code:
        setcookie("TestCookie""Wert2"PHP_INT_SIZE strtotime('31.12.9999') : PHP_INT_MAX); 
        Auch auf 64-Bit_Systemen darf die Jahreszahl auch nicht größer als 9999 sein, PHP_INT_MAX ist dort nicht nutzbar.

        Resultat:
        32-Bit:
        Gültig bis: Dienstag, 19. Januar 2038 04:14:07

        64-bit:
        Gültig bis: Donnerstag, 30. Dezember 9999 23:59:59



        LG jspit

        Kommentar


        • #19
          Aber wir können ja mal gerne frage, wer die Implementierung für sinnvoll hielte, bzw. selbst auf Seiten diese Funktion nutzt.
          Also ich benutze das Prinzip z.B. hier auf PHP.de. Es ist inhaltlich durchaus ein Unterschied, eingeloggt zu bleiben und einen Mechanismus zum Password-Autofill zu benutzen.
          Anmerkung: Ausserdem ist das wie mit JavaScript. Wenn ein User Cookies nicht aktiviert hat, kann er die Funktion ohnehin nicht nutzen. Und bau lieber eine Seite, die du so weit wie möglichst von Browsereinstellungen entkoppelst.
          Quatsch. Ohne Cookies gibts sinnvoll keine Session-basierten Dienste. Ergo dann auch keine Usersession, um den Passwortschutz aufrecht zu erhalten.

          Kommentar


          • #20
            Zitat von jspit Beitrag anzeigen
            ++

            De folgenden Ausführungen haben daher mehr informativen Charakter.

            Für das 2038 Problem ist nicht die PHP-Version verantwortlich, sondern das System (32/64 Bit). Die Konstante PHP_INT_SIZE gibt darüber Auskunft.
            Für 32-Bit-Systeme hat PHP_INT_SIZE den Wert 4, für 64-bit-Systeme den Wert 8.

            Die Konstante kann benutzt werden, um die Lebenszeit des Cookies systemunabhängig auf einen möglichst großen Wert zu setzen:

            PHP-Code:
            setcookie("TestCookie""Wert2"PHP_INT_SIZE strtotime('31.12.9999') : PHP_INT_MAX); 
            Auch auf 64-Bit_Systemen darf die Jahreszahl auch nicht größer als 9999 sein, PHP_INT_MAX ist dort nicht nutzbar.

            Resultat:
            32-Bit:
            Gültig bis: Dienstag, 19. Januar 2038 04:14:07

            64-bit:
            Gültig bis: Donnerstag, 30. Dezember 9999 23:59:59



            LG jspit
            Also ich bin für die Abschaffung eines Integer-Values für das Cookie-Expire.

            PHP-Code:
            setcookie('foo''bar''+1 year'); 

            Kommentar


            • #21
              Also ich benutze das Prinzip z.B. hier auf PHP.de. Es ist inhaltlich durchaus ein Unterschied, eingeloggt zu bleiben und einen Mechanismus zum Password-Autofill zu benutzen.
              Aber dafür gibts wirklich Browser-Tools. Ich finde das Vorhaben ein wenig sinnlos.

              Kommentar

              Lädt...
              X