5 Beiträge / 0 neu
Letzter Beitrag
Dirk Wagner
Offline
Registriert seit: 19.11.2007 - 17:33
Proxy-Problem / dynamische Webseite

Hi Leute,

das Problem, dass eine eben per FTP aktuallisierte Webseite im Browser nicht angezeigt wird, auch wenn man ein Neu-Laden erzwingt, dürfte jedem schon mal begegnet sein (zumindest denjenigen, die sich mit der Pflege einer Webseite beschäftigen).

Dieses Problem hatte ich bisher aber nur bei statischen HTML-Seiten.
Duch die meta-Angabe 'http-equiv="expires" content="0"' sollte sich das aber verhindern lassen...

Nun habe ich das gleiche Problem bei dynamischen Webseiten:

Bei einem Tippspiel können registrierte User Tipps für alle in der Zukunft liegenden Spiele abgegeben werden.
In einer Datenbank ist der Spielbeginn (nach dem nichts mehr geht) hinterlegt - und ein Skript vergleicht die aktuelle Uhrzeit auf dem Server mit der in der Datenbank gespeicherten Zeit des Spielbeginns.

Es zeigte sich, dass es Nutzer gibt, die ihre Tipps NACH den Spielen ins System eingeben konnten - und so natürlich ein besseres Ergebnis erzielten als diejenigen, die vorher getippt hatten...

Nach meinem Verständnis sollte das aber eigentlich nicht gehen - auch nicht, wenn die Dateien durch einen Proxy gecached werden, da die Seite auf denen die Tipps abgegeben werden, auf den Nutzer zugeschnitten ist und auch seine bisherigen Tipps enthält.

Anhand der Logfiles konnte ich feststellen, dass es sich um Nutzer handelte, die über AOL bzw. WEB.DE eingewählt waren.

Heute hatte ich nun wieder eine Anfrage, warum etwas auf der Seite nicht geändert wurde - was aber seit dem 2. Februar geändert ist...
Wieder wählte sich der Nutzer über WEB.DE ein...

Ich stehe hier ein wenig auf dem Schlauch Wink

Bei der gleichen Nutzergruppe kommt es immer wieder vor, dass Beschwerden über die mangelnde Aktualität der Seite an uns herangetragen werden.
Seiten (PHP-Skripte), die teilweise schon seit Wochen geändert sind, werden noch in der alten Form angezeigt - und auch Seiten, die sich komplett aus Datenbankeinträgen aufbauen, "verheimlichen" aktuelle Einträge in der Datenbank.

Das würde aber doch bedeuten, dass sich z.B. AOL eine komplette Kopie aller möglichen Seitenaufrufe einer Webseite in den Cache legt.
Bei statischen Seiten, kann ich das durchaus nachvollziehen - aber bei dynamisch generierten???

ciao

dirk

Gerhard
Offline
Registriert seit: 19.11.2007 - 17:33
Re: Proxy-Problem / dynamische Webseite

Hallo Diwa

was sindn das für Tipps? Bis du das Problem behoben hast, könnten wir doch alle damit ein bisschen reich werden, das wär doch auch schon was...

Grüße von Gerhard Wink

diwa schrieb:

> Hi Leute,
>
> das Problem, dass eine eben per FTP aktuallisierte Webseite im
> Browser nicht angezeigt wird, auch wenn man ein Neu-Laden
> erzwingt, dürfte jedem schon mal begegnet sein (zumindest
> denjenigen, die sich mit der Pflege einer Webseite
> beschäftigen).
>
> Dieses Problem hatte ich bisher aber nur bei statischen
> HTML-Seiten.
> Duch die meta-Angabe 'http-equiv="expires" content="0"' sollte
> sich das aber verhindern lassen...
>
> Nun habe ich das gleiche Problem bei dynamischen Webseiten:
>
> Bei einem Tippspiel können registrierte User Tipps für alle in
> der Zukunft liegenden Spiele abgegeben werden.
> In einer Datenbank ist der Spielbeginn (nach dem nichts mehr
> geht) hinterlegt - und ein Skript vergleicht die aktuelle
> Uhrzeit auf dem Server mit der in der Datenbank gespeicherten
> Zeit des Spielbeginns.
>
> Es zeigte sich, dass es Nutzer gibt, die ihre Tipps NACH den
> Spielen ins System eingeben konnten - und so natürlich ein
> besseres Ergebnis erzielten als diejenigen, die vorher getippt
> hatten...
>
> Nach meinem Verständnis sollte das aber eigentlich nicht gehen
> - auch nicht, wenn die Dateien durch einen Proxy gecached
> werden, da die Seite auf denen die Tipps abgegeben werden, auf
> den Nutzer zugeschnitten ist und auch seine bisherigen Tipps
> enthält.
>
> Anhand der Logfiles konnte ich feststellen, dass es sich um
> Nutzer handelte, die über AOL bzw. WEB.DE eingewählt waren.
>
> Heute hatte ich nun wieder eine Anfrage, warum etwas auf der
> Seite nicht geändert wurde - was aber seit dem 2. Februar
> geändert ist...
> Wieder wählte sich der Nutzer über WEB.DE ein...
>
> Ich stehe hier ein wenig auf dem Schlauch Wink
>
> Bei der gleichen Nutzergruppe kommt es immer wieder vor, dass
> Beschwerden über die mangelnde Aktualität der Seite an uns
> herangetragen werden.
> Seiten (PHP-Skripte), die teilweise schon seit Wochen geändert
> sind, werden noch in der alten Form angezeigt - und auch
> Seiten, die sich komplett aus Datenbankeinträgen aufbauen,
> "verheimlichen" aktuelle Einträge in der Datenbank.
>
> Das würde aber doch bedeuten, dass sich z.B. AOL eine komplette
> Kopie aller möglichen Seitenaufrufe einer Webseite in den Cache
> legt.
> Bei statischen Seiten, kann ich das durchaus nachvollziehen -
> aber bei dynamisch generierten???
>
>
> ciao
>
> dirk

Gast (nicht überprüft)
Re: Proxy-Problem / dynamische Webseite

Ah, ein interessantes Phänomen! Zwei Erklärungen fallen mir ein. Da wäre zunächst

1. Der User ruft das Formular zur Eingabe eines Tips auf (vor Ablauf, d.h. die Seite wird durch PHP generiert und die Prüfung ist OK). Dann lässt er die Seite einfach stehen, bis die Frist abgelaufen ist und gibt dann erst den Tip ein, der dann abgespeichert wird. Dabei wird dann unter Umständen nur noch ein HTML-Formular ausgeführt, ohne dass PHP überhaupt noch läuft. Im Extremfall kann der User auch eine mit PHP erzeugte Seite als HTML lokal abspeichern. Dazu fällt mir als Lösung nur ein, dass die Prüfung des Zeitfensters beim Abspeichern des Tips in der Datenbank erfolgt, eine Prüfung beim Aufbau der Seite ist aus den erwähnten Gründen relativ leicht zu umgehen. Natürlich muss auch mit der Systemzeit des Servers gearbeitet werden, nicht etwa mit der Browser-Zeit, die der User eingestellt hat (ganz zu schweigen von Zeitzonen...). Wenn das allerdings bereits so realisiert ist, dann bleibt noch

2. Wenn eine Seite mehrfach hintereinander aufgerufen wird, dann muss sichergestellt werden, dass diese jedesmal komplett durch PHP generiert und nicht aus dem Cache des Browsers oder des Proxies geholt wird, selbst dann, wenn der erzeugte HTML-Code gleich bleibt. Beim Back-Button und Formularen klappt das meistens, bei einem Refresh und ohne Formulare dagegen nicht notwendigerweise, dort muss man dann etwas nachhelfen. Lies Dir doch mal den folgenden Beitrag durch:
Etwas weiter unten auf der Seite stehen einige Hinweise zur Cache-Steuerung in PHP mit der header() Funktion - vielleicht hilft Dir das weiter...

Dirk Wagner
Offline
Registriert seit: 19.11.2007 - 17:33
Re: Proxy-Problem / dynamische Webseite

Florian schrieb:

> 1. Der User ruft das Formular zur Eingabe eines Tips auf (vor
> Ablauf, d.h. die Seite wird durch PHP generiert und die Prüfung
> ist OK). Dann lässt er die Seite einfach stehen, bis die Frist
> abgelaufen ist und gibt dann erst den Tip ein, der dann
> abgespeichert wird.

Das ist ein interessanter Ansatz - ich muss gesehen: Da bin ich nicht draufgekommen.

> Dabei wird dann unter Umständen nur noch
> ein HTML-Formular ausgeführt, ohne dass PHP überhaupt noch
> läuft. Im Extremfall kann der User auch eine mit PHP erzeugte
> Seite als HTML lokal abspeichern. Dazu fällt mir als Lösung nur
> ein, dass die Prüfung des Zeitfensters beim Abspeichern des
> Tips in der Datenbank erfolgt, eine Prüfung beim Aufbau der
> Seite ist aus den erwähnten Gründen relativ leicht zu umgehen.
> Natürlich muss auch mit der Systemzeit des Servers gearbeitet
> werden, nicht etwa mit der Browser-Zeit, die der User
> eingestellt hat (ganz zu schweigen von Zeitzonen...). Wenn das
> allerdings bereits so realisiert ist, dann bleibt noch

Bisher findet die Prüfung nur beim Aufruf, nicht beim Abspeichern statt...

Dafür vergleiche ich inzwischen die Zeit der letzten Änderung des Tipps in der Datenbank mit dem Spielbeginn.
D.h. man könnte nachträglich ändern, bekommt dann aber keine Punkte für den jeweiligen Spieltag mehr gezählt.
Das hat schon zu Beschwerden geführt - aber Strafe muss sein Wink

> Lies Dir doch mal den folgenden Beitrag durch:
>
> Etwas weiter unten auf der Seite stehen einige Hinweise zur
> Cache-Steuerung in PHP mit der header() Funktion - vielleicht
> hilft Dir das weiter...

Merci.

Dirk

Dirk Wagner
Offline
Registriert seit: 19.11.2007 - 17:33
Re: Proxy-Problem / dynamische Webseite

Gerhard schrieb:

> was sindn das für Tipps? Bis du das Problem behoben hast,
> könnten wir doch alle damit ein bisschen reich werden, das wär
> doch auch schon was...

Ja, denn es handelt sich um die Webseite für die Abgabe von Fussball-Toto-Tipps bei Hessenlotto...

Ciao

dirk