Kalle_B: TAN: Server-Zeit - Benutzer-Zeit

Hallöle,

ich denke darüber nach, einer <form> eine TAN (Transaktionsnummer) mitzugeben, um zu gewährleisten, dass dieses Formular nur einmal verarbeitet wird, auch wenn es mehrfach gesendet wird.

Wenn es NICHT gesendet wird, soll die TAN verfallen, sagen wir mal, nach einer Stunde. Die Verfallzeit möchte ich anzeigen.

Beim FTP sehe ich, dass die Server-Zeit eine Stunde zu meiner Zeit (in D) nachhinkt (ich lade um 4:00 hoch, das Dokument hat 3:00). Komischerweise ist die vom PHP- Programm angezeigte Zeit date(H:i", time()) aber meine (4:00).

Wenn nun jemand z.B. in LK (Sri Lanka) dieses Formular aufruft, möchte ich natürlich die Verfallzeit aus dessen Sicht anzeigen.

Muss ich das extra berechnen (woher bekomme ich die Zeitzone des Benutzers?) oder macht PHP das auf wundersame Art selber (so wie meine D-Winterzeit)?

LIeben Gruß, Kalle

  1. Tach,

    Muss ich das extra berechnen (woher bekomme ich die Zeitzone des Benutzers?) oder macht PHP das auf wundersame Art selber (so wie meine D-Winterzeit)?

    die Zeitzone des Benutzers kannst du über einen normalen HTTP-Request nicht erfahren, allerdings kennt Javascript sie, also am besten vom Server ein Datum in UTC übermitteln und dann z.B. mit toLocaleString() umwandeln.

    mfg
    Woodfighter

  2. Moin!

    ich denke darüber nach, einer <form> eine TAN (Transaktionsnummer) mitzugeben, um zu gewährleisten, dass dieses Formular nur einmal verarbeitet wird, auch wenn es mehrfach gesendet wird.

    Hat die TAN irgendetwas mit Benutzerinteraktion zu tun, im Sinne von "TAN beim Online-Banking"?

    Wenn nein, dann generiere einfach einen zufälligen oder gerne auch seriellen Wert (für die Eindeutigkeit innerhalb eines gewissen Zeitraumes), und speichere ab, wenn dieser Wert zu dir zurückkommt und erfolgreich verarbeitet werden kann.

    Weitere eintreffende Werte werden mit der Liste abgeglichen und bei Vorkommen in netter Form zurückgewiesen.

    Einen Zeitstempel, insbesondere einen mit lokaler Uhrzeit, würde ich in diesem Zusammenhang absolut meiden wollen. Zum einen, weil dir die Zeitinformation nichts bringt, aber insbesondere weil die Zeitzonen- und Zeitumstellungsproblematik dir kräftig ins Handwerk pfuschen kann.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
  3. Wenn es NICHT gesendet wird, soll die TAN verfallen, sagen wir mal, nach einer Stunde. Die Verfallzeit möchte ich anzeigen.

    Die Methode mit JavaScript wurde ja bereits gepostet, daher hätt ich noch einen anderen Vorschlag - was spricht gegen eine relative Zeitangabe?
    Sprich, statt um 14 Uhr zeigst du hald an dass es in 42 Minuten verfällt, das funktioniert in jedem Land - auch ohne JavaScript :)

    greetz RFZ

  4. hi,

    Beim FTP sehe ich, dass die Server-Zeit eine Stunde zu meiner Zeit (in D) nachhinkt (ich lade um 4:00 hoch, das Dokument hat 3:00). Komischerweise ist die vom PHP- Programm angezeigte Zeit date(H:i", time()) aber meine (4:00).

    Gibst du beim FTP-Zugriff irgendwo an, für welche Zeitzone die Datümer formatiert werden sollen?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }