Countdown - nicht über Clientzeit

Dein "toller" code wird auch nicht funktionieren, da du den zeitstempel der anmeldung an JS übergibst, JS anschließend das aktuelle datum über die CLIENTZEIT ermittelt und anhand dieser beiden parameter den countdown erzeugt. ERGEBNIS: wenn jemand eine falsche clientzeit eingestellt hat, wird der countdown falsch dargestellt - und genau das möchte ich verhindern. Es geht NUR und AUSSCHLIESSLICH um die ANZEIGE. Nichts anderes...


- und wenn ich dich jetzt falsch verstanden haben sollte, dann bitte ich die etwas "sarkastische" antwort mit einem lächeln aufzufassen ;)

Du hast mich falsch verstanden ;), ich hatte mich aber auch vertan:-( .

Beide Zeitstempel werden mit PHP, also Serverseitig, erfasst, und die Differenz berechnet. Die Differenz (in Sekunden) wird an die JS Funktion übergeben, die Funktion zählt nur runter auf 0. Es funktioniert sogar wenn man die Seite verlässt und nach einer gewissen Zeit wieder aufruft. Der User kann seine Clientzeit so einstellen wie er will, das hat keinen Einfluß auf den Countdown.
 
So. ich sitze im Auto und da lustige Ordnungsbeamte Amplen bauen, damit die Fahrer mal die Seele baumeln lassen können und die Natur geniessen, sind mir noch ein paar Gedanken gekommen:

1) Wenn das statischer Kontent ist, also ohne Seitenwechsel, ist das eh obsolet, da jeder den Quelltext kopiert, die Prüfung rausnimmt und fertig.

2) Wenn du den Counter trotzdem anzeigen willst, dann setze eine Startwert 0 und zähle dann mit dem Skript einfach die Sekunden ab bis zum Ende. Hier kannste dann die aktuelle Clientzeit als Grundlage für eine Zeitanzeige (clientzeit + sekudenen seit start) nehmen, ich meine niemand wird nach dem Drehen an der Uhr eine korrekte Zeitanzeige erwarten ...

3) Wenn du mit Links arbeitest, dann nimm den Ende-Wert aus der Session, wie oben schon vom split gezeigt. Problem ist nur, mit bissel prog know how, helbelt dir das auch jeder in Minuten aus (Seitenaufruf via php-proxy und End-Variable manipulieren, oder FF-Greasmonkey-Erweiterung und gleiches Spiel..)

4) Am Besten wäre dynamischen Kontent zu erzeugen und den mittels JS (AJAX) in die Seite laden (und idealerweise ändert der sich dann auch noch, sonst könnte man ja wieder einfach mit copy/paste arbeiten). Das Laden kannste am Server kontrollieren, also unabhängig von der Clienteinstellung, der HTML-Quellcode taucht nirgends auf und den angezeigten Counter nimmste nur als nachrichtliche Anzeige ....

Also das ging mir so an der Ampel durch den Kopf .. und dann würde grün :)

Dirk
 
3) Wenn du mit Links arbeitest, dann nimm den Ende-Wert aus der Session, wie oben schon vom split gezeigt. Problem ist nur, mit bissel prog know how, helbelt dir das auch jeder in Minuten aus (Seitenaufruf via php-proxy und End-Variable manipulieren, oder FF-Greasmonkey-Erweiterung und gleiches Spiel..)

Clientseitige Lösungen kann man immer aushebeln. Die Session-Variablen am Server kannst du allerdings nicht manipulieren. Du vergisst, dass es sich bei dieser clientseitigen Lösung ausschließlich um eine Visualisierung dessen handel, das am Server sowieso völlig unabhängig davon im Hintergrund abläuft.

Wenn die Session auf dem Server abgelaufen ist, dann - selbst wenn der Browser den (manipulierten) Countdown als "nicht abgelaufen" anzeigt - ist es nicht mehr möglich, neue Seiten des geschützten Bereichs vom Server zu laden bzw. irgendwelche anderen Aktivitäten auszuführen.

Eine rein clientseitige Lösung für solche Probleme wäre nicht nur äußerst unsicher, sondern man würde gleichzeitig alle Anwender ohne JavaScript ausschließen (und wenig sind das nicht).
 
Ja - ich meinte auch die Ablauf die Ablauf-variabel kannste manipulieren. Damit du den Kontent nicht immer im Quellcode speichern musst - solange der Server noch ein wenig Restnutzungsdauer hat!

Aber klar, wenn der Server sagt, SCHLUSS - dann ist Pumpe. Hab ich mich bissel schwammig ausgedrückt, hätte ich direkt an der Ampel auch schreiben sollen - da hätte ich genug Zeit gehabt :)

Dirk

PS
Eine rein clientseitige Lösung für solche Probleme wäre nicht nur äußerst unsicher, sondern man würde gleichzeitig alle Anwender ohne JavaScript ausschließen (und wenig sind das nicht).
Ich denke im Zeitalter von web 2.0 werden iregendwann fast alle ihr JS aktivieren, da sonst das net keinen Spass mehr macht, ausser natürlich die ganz harten .... :)
 
Zuletzt bearbeitet:
1) Wenn das statischer Kontent ist, also ohne Seitenwechsel, ist das eh obsolet, da jeder den Quelltext kopiert, die Prüfung rausnimmt und fertig.
Nicht relevant da im Hintergrund noch mehr checks ablaufen die das umgehen unmöglich machen. Was genau da geschieht kann / darf ich dir nicht sagen...müsst dich dann umbringen ;-) ;-) ;-)

2) Wenn du den Counter trotzdem anzeigen willst, dann setze eine Startwert 0 und zähle dann mit dem Skript einfach die Sekunden ab bis zum Ende. Hier kannste dann die aktuelle Clientzeit als Grundlage für eine Zeitanzeige (clientzeit + sekudenen seit start) nehmen, ich meine niemand wird nach dem Drehen an der Uhr eine korrekte Zeitanzeige erwarten ...
Doch, mein Chef will es so haben und da liegt es an mir es hinzubekommen :)

3) Wenn du mit Links arbeitest, dann nimm den Ende-Wert aus der Session, wie oben schon vom split gezeigt. Problem ist nur, mit bissel prog know how, helbelt dir das auch jeder in Minuten aus (Seitenaufruf via php-proxy und End-Variable manipulieren, oder FF-Greasmonkey-Erweiterung und gleiches Spiel..)
Arbeite nicht mit Links, und aushelbeln geht auch nicht (siehe Antwort 1) :)

4) Am Besten wäre dynamischen Kontent zu erzeugen und den mittels JS (AJAX) in die Seite laden (und idealerweise ändert der sich dann auch noch, sonst könnte man ja wieder einfach mit copy/paste arbeiten). Das Laden kannste am Server kontrollieren, also unabhängig von der Clienteinstellung, der HTML-Quellcode taucht nirgends auf und den angezeigten Counter nimmste nur als nachrichtliche Anzeige ....
Wär ne Idee es NOCH sicherer zu machen. - DANKE!
 
Eine rein clientseitige Lösung für solche Probleme wäre nicht nur äußerst unsicher, sondern man würde gleichzeitig alle Anwender ohne JavaScript ausschließen (und wenig sind das nicht).

Dessen sind wir uns bewusst und schließen alle aus die JS deaktiviert haben. ;)

was die sicherheit angeht: siehe obigen Post - Punkt 1 *lach*
 
Zurück