Hallo. 4breeze hat die Entdeckung in diesem Thread gemacht, es gibt eine Methode die Captchas zu umgehen. Habe zur Demonstration nen kleines Testskript geschrieben:
<?php
session_start();
$var = $_GET['sicherheitscode'];
if($var==$_SESSION['nicht_definiert']){
echo "Bestanden.";
}
else{
echo "Nicht bestanden.";
}
?>
GET, nicht POST, damit man es direkt mit dem Browser nachvollziehen kann. Als test.php auf den Webserver hochladen, und dann mit /test.php und /test.php?sicherheitscode=42 ausprobieren. Ist sicherheitscode nicht definiert, weil der Spambot nichts derartiges per GET oder POST an den Webserver sendet, und ist die Session-Variable nicht definiert, weil der Spambot das Captcha-Bild nicht abruft, gilt die Spamprüfung trotzdem als bestanden. Vorbeigemogelt...
Wie 4breeze schreibt, vorher prüfen, ob Session-Variable definiert:
if(!isset($_SESSION['captcha_spam'])) {
die('Fehler: session nicht definiert (bitte mail an Admin)<br /><br /><a href="gbook.php">Zurück ins Gästebuch</a>');
}
Gruß
JK
