Wiederaufrufen von Formularen verhindern
-
Hi
da irgendwer mein Gästebuch zubombt und ich vermute das er einfach auf F5 drückt und ich dann hunderte von emails krieg will ich verhindern das das script das die Formulardataten auswertet nochmal aufgerufen wird. Geht das irgenwie ich hab mir gedacht ich machs über cookies aber dann müssen ja cookies auf dem client aktiviert worden sein und ich möchte sowenig wie möglich auf dem clientrechner vorraussetzen.
MFG eiskalt
-
Generier doch jeweils ne session, und merk dir die IP in einer DB,
dann sperrst du das GB jeweils nach einem Eintrag für 1 Tag für die
selbe IP, oder IP-Gruppe.Devil
-
Lösung für das F5 Problem:
Einfach nach dem Absenden eine Datei eintragen.php absenden und da dann am ende in den header("location: gaestebuch.php"); rein
-
@devil81
sperren is immer schlecht meiner meinung nach da erwisch ich unter umständen auch den falschen und bei so einer pobelwebseite wie meiner kommts auf jeden besucher an@Rodney
werd ich mal versuchen aber was passiert wenn er einfach auf zurück drückt wird das dadurch auch verhindert?MFG eiskalt
-
eiskalt schrieb:
aber was passiert wenn er einfach auf zurück drückt wird das dadurch auch verhindert?
Nein, da bringt eine Header-Weiterleitung nichts - wenn ein User willig ist und Mühe nicht scheut kan er immer oft posten
-
ok klar aber ich kanns ihm schwer machen so das er jedes mal erst auf das eingabeformular zurück muss und alles neu eintippen und irgendwann verliert da wohl jeder die lust
-
Du kannst dem User es ein wenig schwerer machen, indem du einfach bei seinem ersten Klick auf (z. B.) "Formular senden" einen Zeitstempel erzeugst, welchen du dann in eine Datei schreibst. (Dann wird er z. B. auf eine Seite weitergeleitet, auf der du ihm mitteilst, dass das Forumular erfolgreich abgeschickt wurde).
Wenn der User jetzt aber auf zurück (oder Reload) klickt, dann wird die Seite normalerweise aus dem Cache geladen - mit der alten Uhrzeit.
Jetzt kannst du pruefen, ob die aktuelle Uhrzeit groesser als die in der Datei gespeicherte... Wenn ja, neuer Eintrag, andernfalls Fehler...Nur so eine kleine Anregung... hoffentlich verständlich
Caipi
-
eiskalt schrieb:
ok klar aber ich kanns ihm schwer machen so das er jedes mal erst auf das eingabeformular zurück muss und alles neu eintippen und irgendwann verliert da wohl jeder die lust
Wer bombt dein Gästebuch voll?? Also ich sehe hier nur 8 Einträge?
Er kann den Text auch einmal kopieren und immer wieder einfügen!
Das mit dem Zeitstempel finde ich sehr sinnvoll! ich würde ihn auf 24h setzen.MfG CSS
-
Er löscht die Einträge ja...
Zeitstempel auf 24h... Etwas viel, ich möchte schon manchmal mehr als einen Post pro Tag machen...
-
Rodney schrieb:
Zeitstempel auf 24h... Etwas viel, ich möchte schon manchmal mehr als einen Post pro Tag machen...
... in einem Gästebuch?! :xmas2:
-
ah ja nicht die seite in meim Profil sonder http://www.partyrats.de die is zugemüllt worden ich werds mir mal überlegen das ganze hat sowas wie einen sportlichen ehrgeitz erzeugt ich hab halt leider keine Zeit im Moment sonst hätt ich mich schon dahintergeklemmt.
MFG eiskalt
-
werd ich mal versuchen THX
Ich hab da aber noch ein anderes Problem und zwar sind auf der seite formulare forgesehen bei denen ich die anzahl der posts nicht beschränken kann da sollen die leute eben möglichst viel posten und es kommt keine Sau mehr und trägt seine Events ein wenn er nur jede stunde/tag eins machen kann. Oder das Kontaktformular wenn einer mir was schreibt und was vergessen hat kann ich ihn ja wohl kaum ne stunde warten lassen bis er mir noch was sagen darf
Also rekapitulieren wir mal
1. Ausperren is nicht da sperr ich unter umständen den falschen aus(risiko gering aber trotzdem)
2. Das Posten kann/will/darf ich nicht auf einmal beschränken könnte ja sein das einer was sinvolles zu sagen hat und das will ich dann hörenwas bleibt dann noch? Ich hätte jetzt mal gerne was vom Volkard gehört da er ja offensichtlich immer noch mitglied im Club der Programmier is und ich nur im Club der Stümper.
MFG eiskalt
-
Also wenn du verhindern willst, dass der User den Zurück-Button benutzt und das schon ausgefüllte Formular nochmal abschickt könntest du eben entweder überprüfen, ob die übermittelten Daten genau gleich sind, oder du erzeugst beim Aufruf der Formular-Seite eine ID und sagst dann eben, dass diese ID nur einmal vorkommen darf, wenn jetzt der User nochmal etwas schreiben will, dann mus er das Script mit dem Formular neu anfordern (womit dann eine neue ID generiert wird)