Nachdem ich mein Formular endlich so hinbekommen habe wie ich es wollte war ich glücklich.
Allerdings habe ich 2 Sicherheitslücken festgestellt.
Ich wäre sehr froh wenn mir ein Profi von euch bei der Schließung dieser Lücken helfen könnte.
Ich versuche jetzt einfach mal den Aufbau und die Funktionsweise des Formulars in Kurzform zu erläutern.
kontaktformular.php :
Formularfelder werden beim verlassen des Eingabefeldes auf bestimmte Karaktäre via Javaskript überprüft, vor dem absenden wird dies nochmals via php überprüft sonst kein absenden.
exec_kontaktform.php :
wenn das Formular abgesendet wurde geht's auf diese Seite wo eine Anmeldung bei der MySql Datenbank erfolgt und die Daten aus dem Formular in die Datenbank eingetragen werden. Desweiteren wird eine Nachricht generiert mit den daten aus dem Formular die mir als E-mail geschickt wird.
wenn keine Fehler aufgetreten sind werde ich zur nächsten Seite weitergeleitet.
kontaktform_confirm.php :
Hier findet wieder eine Datenbankverbindung statt und die Daten der letzten Datenbank ID werden ausgelesen und auf der Seite angezeigt.
das primäre Problem ist jetzt folgendes:
Jede beliebige Person kann die "kontaktform_confirm.php" aufrufen und bekommt den von irgendeiner Person zuletz eingegebenen Datensatz angezeigt.
Ich möchte erreichen das nur der Benutzer der das Formular ausgefüllt und abgesendet hat die Bestätigungsseite einmalig angezeigt bekommt. Was in diesem Fall die beste Lösung zur Umsetzung ist oder wie man das programmiert weis ich nicht.
Allerdings habe ich 2 Sicherheitslücken festgestellt.
Ich wäre sehr froh wenn mir ein Profi von euch bei der Schließung dieser Lücken helfen könnte.
Ich versuche jetzt einfach mal den Aufbau und die Funktionsweise des Formulars in Kurzform zu erläutern.
kontaktformular.php :
Formularfelder werden beim verlassen des Eingabefeldes auf bestimmte Karaktäre via Javaskript überprüft, vor dem absenden wird dies nochmals via php überprüft sonst kein absenden.
exec_kontaktform.php :
wenn das Formular abgesendet wurde geht's auf diese Seite wo eine Anmeldung bei der MySql Datenbank erfolgt und die Daten aus dem Formular in die Datenbank eingetragen werden. Desweiteren wird eine Nachricht generiert mit den daten aus dem Formular die mir als E-mail geschickt wird.
wenn keine Fehler aufgetreten sind werde ich zur nächsten Seite weitergeleitet.
kontaktform_confirm.php :
Hier findet wieder eine Datenbankverbindung statt und die Daten der letzten Datenbank ID werden ausgelesen und auf der Seite angezeigt.
das primäre Problem ist jetzt folgendes:
Jede beliebige Person kann die "kontaktform_confirm.php" aufrufen und bekommt den von irgendeiner Person zuletz eingegebenen Datensatz angezeigt.
Ich möchte erreichen das nur der Benutzer der das Formular ausgefüllt und abgesendet hat die Bestätigungsseite einmalig angezeigt bekommt. Was in diesem Fall die beste Lösung zur Umsetzung ist oder wie man das programmiert weis ich nicht.
Kommentar