Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Reloadsperre (https://www.delphipraxis.net/31818-%5Bphp%5D-reloadsperre.html)

Die Muhkuh 14. Okt 2004 13:14


[PHP] Reloadsperre
 
Hi,

ich hab mir ein kleines Gästebuch geschrieben, und dort eine Reloadsperre mittels einer Textdatei eingebaut. Jetzt ist das Problem: Ich hab noch eine Shoutbox dazugemacht, die die gleiche Reloadsperre-Datei nutzt. D.h. wenn jetzt 2 leute auf der HP sind bringt das nichts mehr.

Meine Frage:

Wie kann ich eine vernüftige Reloadsperre bauen?

*MFG*

:hi: Manu

SubData 14. Okt 2004 13:19

Re: [PHP] Reloadsperre
 
Ganz einfach...

Mach ne Textdatei und schreib die IP des Clients rein und setz den Reload-Timeout beispielsweise auf 30 Sekunden. Du schreibst also IP und Zeitstempel in die Datei. Wird die Seite neu geladen wird geschaut ob die IP drin steht, wenn ja, dann wird geschaut ob die eingetragene Zeit älter als x Sekunden ist, wenn nicht wird der Wiederaufruf der Seite verweigert...

Gruß Subby

Alexander 14. Okt 2004 13:23

Re: [PHP] Reloadsperre
 
Dann speicher die doch getrennt ab oder speicher ein Flag (Gästebuch oder halt Shoutbox) und dementsprechend musst du dann noch abfragen...
PS: Aber es gibt kaum eine funktionierende Reloadsperre ohne Benutzerverwaltung. Du kannst zwar Cookies setzten (könenn gelöscht werden) oder du kannst die IP speichern (einmal ein- und wieder auswählen und zack hat man ne neue IP.), aber das bringt ja wie beschrieben nichts. Wenn du die IP speicherst, dann würdest du eigentlich sogar verschiedene Nutzer mit gleicher IP (->Router) aussperren. Das kommt zwar nicht häufig vor, aber was solls...

Die Muhkuh 14. Okt 2004 13:24

Re: [PHP] Reloadsperre
 
Es soll ja eigentlich nur verhindert werden wenn man F5 drückt, bzw. auf Aktuallisieren klickt.


PS: Man kann sich ja schon fertige Shoutboxen in die HP einbinden. Wie machen deren Hersteller das mit dem Reload?

SubData 14. Okt 2004 13:27

Re: [PHP] Reloadsperre
 
Dann speichert man halt noch ein paar ENV Variablen wie Browser dazu, dann kann man auch bei nem Router mit mehreren Leuten die Seite benutzen.
Ausserdem gibs nen Forward Befehl bei PHP und CGI der bei den meißten Proxys die richtige IP mitliefert.

Und neu einwählen ... naja ... Cookie kann man zusätzlich mit rein setzen, dann haste doppelte Sicherheit.

Und wenn sich jemand wirklich die Arbeit macht sich jedesmal neu einzuwählen und dann auch noch das Cookie zu löschen, gute Nacht :)

Ausserdem heißt nicht jede Neueinwahl auch neue IP
:mrgreen:

Alexander 14. Okt 2004 13:40

Re: [PHP] Reloadsperre
 
Zitat:

Zitat von SubData
Dann speichert man halt noch ein paar ENV Variablen wie Browser dazu, dann kann man auch bei nem Router mit mehreren Leuten die Seite benutzen.
Ausserdem gibs nen Forward Befehl bei PHP und CGI der bei den meißten Proxys die richtige IP mitliefert.

Und neu einwählen ... naja ... Cookie kann man zusätzlich mit rein setzen, dann haste doppelte Sicherheit.

Wollte auch nur sagen, dass eben diese Sicherheit nicht gibt... Bei ner Benutzerverwaltung sieht das wieder anders aus :P
Zitat:

Und wenn sich jemand wirklich die Arbeit macht sich jedesmal neu einzuwählen und dann auch noch das Cookie zu löschen, gute Nacht :)
Naja, soviel Arbeit ist es auch nicht...
Zitat:

Ausserdem heißt nicht jede Neueinwahl auch neue IP
:mrgreen:
Stimmt :lol:. Aber dann sollte man es auch gleich mal mit Lotto versuchen :mrgreen:

SubData 14. Okt 2004 13:54

Re: [PHP] Reloadsperre
 
Naja Lotto würd ich da garnich mal sagen ...

Wenn die Einwahl nich in Zeitabständen von mehreren Minuten oder Stunden erfolgt passiert das eigentlich relativ häufig.
Ich kann mich daran erinnern, dass ich bei T-Online mal 4 Tage hintereinander immer die selbe IP Adresse hatte :)

Alexander 14. Okt 2004 14:36

Re: [PHP] Reloadsperre
 
Wow ;-)
Hast aber recht, die IP wird einfach in den Nummern-Pool zurückgeworfen und weil sie dann praktisch ganz oben steht auch wieder verwendet (denke ich mal...)
Aber dennoch unwahrscheinlich, denn es gibt es so viel Nutzer, die wahrscheinlich gerade rein wollen.. Aber egal, darum ging es hier ja gar nicht ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz