Liebes Forum
Ich habe vor längerer Zeit für mein private Homepage ein Gästebuch (sehr weitgehend selbst) programmiert, das aber keinen Spamschutz hat und deshalb jetzt leider von Bots vollgespammt wird. Ich möchte es nun mit einem Spamschutz versehen, und zwar am liebsten mit einem mit einer kleinen zufällig generierten Rechenaufgabe (andere Ideen wie grafische Captcha mag ich selber nicht und möchte ich vermeiden). So weit, so gut.
Da ich wenig PHP-Erfahrung habe, frage ich nun, wie ich das angehen soll.
Ausgangslage: Der User klickt auf gaestebuch.php, wenn er das Gästebuch besuchen will. Will er einen Eintrag machen, klickt er auf schreiben1.php, wonach er dort drei Formulare ausfüllen muss (Name, Mailadresse, Text). Der Script nimmt nach dem Betätigen des Buttons "Eintragen" minimale Überprüfungen vor (akzeptiert z. B. keine leeren Einträge, keinen HTML-Code und so was). Wenn die Überprüfung okay ist, dann werden die Einträge in eine MySQL-Datenbank eingetragen, dem Besucher wird der Eintrag bestätigt (mit der Seite senden1.php), und er kann ihn sofort auf gaestebuch.php anschauen. Das funktioniert alles einwandfrei.
Ich habe nun etwas Mühe mir vorzustellen "wo" genau die potentielle spamschutz.php ist (steht nur als Rohfassung, noch nicht scharf geschaltet), und wie genau sie mit den anderen Dateien zusammenspielen soll. Ich stelle mir so vor, dass der User nach den bisherigen minimalen Überprüfungen von schreiben1.php neu (zusätzlich) auf die Spsamschutz-Seite gelenkt wird und dort eine Rechenaufgabe (natürlich zufallsgeneriert) lösen muss. Wenn die Lösung stimmt, geht es weiter wie bisher, sonst gibt es eine Fehlermeldung oder so was aus.
Sind diese Überlegungen mal richtig? Mein Hauptproblem im Moment: Wie schaffe ich es denn, dass die Eingaben des Users gewissermassen über mehr als eine Datei, also von schreiben1.php zu spamschutz.php und dann zu senden1.php "transportiert werden? Ist das überhaupt möglich? Wahrscheinlich schon, aber welche Möglichkeiten gibt es, und welche sind bewährt / empfehlenswert?
Ich will in keine fertigen Scripts, die ich eh nicht begreife, sondern das Problem (ggf. natürlich halt mit Hilfe) selber angehen und schliesslich lösen. Ich weiss aber im Moment nichts, ob mein angedachter Lösungsweg sinnvoll und technisch umsetzbar ist.
Da ich voll erwerbstätig bin, kann ich nicht immer ganz schnell antworten, z. B. auf das Eröffnungsposting wohl erst übermorgen Mittwoch. Ich bitte das im Voraus zu entschuldigen. Im Gegenzug erwarte ich natürlich nicht ein Gratis-Instant-Rundum-Sorglospaket. Meine Kenntnisse sind rudimentär, Lernbereitschaft ist aber vorhanden.
Allen Antwortenden danke ich bereits jetzt!
P.S.: Link zur Seite und PHP-Code gibt's selbstredend, sobald das aufgrund des Diskussionsstandes sinnvoll oder nötig ist, oder immer auf Nachfrage. Erwartet nichts Wahnsinniges!
Lg Xeno
Ich habe vor längerer Zeit für mein private Homepage ein Gästebuch (sehr weitgehend selbst) programmiert, das aber keinen Spamschutz hat und deshalb jetzt leider von Bots vollgespammt wird. Ich möchte es nun mit einem Spamschutz versehen, und zwar am liebsten mit einem mit einer kleinen zufällig generierten Rechenaufgabe (andere Ideen wie grafische Captcha mag ich selber nicht und möchte ich vermeiden). So weit, so gut.
Da ich wenig PHP-Erfahrung habe, frage ich nun, wie ich das angehen soll.
Ausgangslage: Der User klickt auf gaestebuch.php, wenn er das Gästebuch besuchen will. Will er einen Eintrag machen, klickt er auf schreiben1.php, wonach er dort drei Formulare ausfüllen muss (Name, Mailadresse, Text). Der Script nimmt nach dem Betätigen des Buttons "Eintragen" minimale Überprüfungen vor (akzeptiert z. B. keine leeren Einträge, keinen HTML-Code und so was). Wenn die Überprüfung okay ist, dann werden die Einträge in eine MySQL-Datenbank eingetragen, dem Besucher wird der Eintrag bestätigt (mit der Seite senden1.php), und er kann ihn sofort auf gaestebuch.php anschauen. Das funktioniert alles einwandfrei.
Ich habe nun etwas Mühe mir vorzustellen "wo" genau die potentielle spamschutz.php ist (steht nur als Rohfassung, noch nicht scharf geschaltet), und wie genau sie mit den anderen Dateien zusammenspielen soll. Ich stelle mir so vor, dass der User nach den bisherigen minimalen Überprüfungen von schreiben1.php neu (zusätzlich) auf die Spsamschutz-Seite gelenkt wird und dort eine Rechenaufgabe (natürlich zufallsgeneriert) lösen muss. Wenn die Lösung stimmt, geht es weiter wie bisher, sonst gibt es eine Fehlermeldung oder so was aus.
Sind diese Überlegungen mal richtig? Mein Hauptproblem im Moment: Wie schaffe ich es denn, dass die Eingaben des Users gewissermassen über mehr als eine Datei, also von schreiben1.php zu spamschutz.php und dann zu senden1.php "transportiert werden? Ist das überhaupt möglich? Wahrscheinlich schon, aber welche Möglichkeiten gibt es, und welche sind bewährt / empfehlenswert?
Ich will in keine fertigen Scripts, die ich eh nicht begreife, sondern das Problem (ggf. natürlich halt mit Hilfe) selber angehen und schliesslich lösen. Ich weiss aber im Moment nichts, ob mein angedachter Lösungsweg sinnvoll und technisch umsetzbar ist.
Da ich voll erwerbstätig bin, kann ich nicht immer ganz schnell antworten, z. B. auf das Eröffnungsposting wohl erst übermorgen Mittwoch. Ich bitte das im Voraus zu entschuldigen. Im Gegenzug erwarte ich natürlich nicht ein Gratis-Instant-Rundum-Sorglospaket. Meine Kenntnisse sind rudimentär, Lernbereitschaft ist aber vorhanden.
Allen Antwortenden danke ich bereits jetzt!
P.S.: Link zur Seite und PHP-Code gibt's selbstredend, sobald das aufgrund des Diskussionsstandes sinnvoll oder nötig ist, oder immer auf Nachfrage. Erwartet nichts Wahnsinniges!
Lg Xeno