Servus!
Hallo Seves,
vermutlich wird hier...
include("./content/news.php");
...die Session initiiert. Sie wird aber nirgends abgefragt oder auf Gültigkeit geprüft. Das ist aus der Tatsache ersichtlich, dass ich bei meinen Einträgen in Dein GB kein Session Cookie übersandt habe.
Sie wird in index.php generiert und wird in send.php doch überprüft?
if(isset($_SESSION['captcha_spam']) && (trim($security)!="") && (trim($security)!=$_SESSION['captcha_spam'])){
$missing.="Der eingegebene Sicherheitscode ist nicht korrekt!<br>Bitte geben Sie den unten stehenden Sicherheitscode ein.";
}
<form action="./index.php?page=guestbook&send=guestbook" method="post">
Im action-Attribut könntest Du die Session als GET-Variable ganz komfortabel mitübergeben. Serverseitig müsste dann geprüft werden, ob mit der Session schon mal Formulardaten übermittelt wurden.
Wäre eine weitere Möglichkeit.
<img src="./content/captcha.php" title="Sicherheitscode" alt="Sicherheitscode" height="40px" width="140px"><br>
Es ist ja schön, dass Du hier ein Bild erstellen lässt. Nur beider Validierung der übergebenen Forumlareinträge ziehst Du diesen abgebildeten Wert nicht heran. Dieser sollte aber in der Session gespeichert sein. Nur, wie ja oben schon erwähnt, kümmert sich das Script nicht um die Session. So muss man lediglich einen sechs Zeichen langen String eingeben, schon ist Dein GB-script zufrieden und Du hast Spam.
Siehe oben. Es wird doch geprüft? Ist das Captcha falsch, kommt ein Fehler, da $missing gesetzt wurde und somit das INSERT unterdrückt.
Und der Wert wird doch in der Session gespeichert?
Gruß aus Berlin!
eddi, Tester in Deinem GB
--
Mit freundlichen Grüßen
seVes