Captcha Abfrage für Formulare
Samstag, 24. März 2007 | Autor: Pr0g
Captcha Code in der Datenbank speichern
Um die Eingabe des Benutzers in einem späteren Formular auch überprüfen zu können, muss der Code in einer MySQL Datenbank gespeichert werden. Dazu wird eine neue Tabelle mit vier Feldern erstellt. Dies kann durch den Import des folgenden SQL Codes in der Datenbankverwaltung geschehen:
CREATE TABLE captcha (
hash varchar(32) NOT NULL default '',
code varchar(4) NOT NULL default '',
ip varchar(15) NOT NULL default '',
time int(11) NOT NULL default '0'
) TYPE=MyISAM;
In “hash” wird eine eindeutige Id für den Code gespeichert, um bei der späteren Überprüfung den passenden Code auslesen zu können. Der Code selbst wird in “code” gespeichert. In “ip” wird die IP des Benutzers zur Identifikation gespeichert (um bei mehreren Captcha Anfragen nur eine Zeile zu belegen) und in “time” ein Zeitstempel vom Erstellungsdatum des Codes, um alte Codes löschen zu können.
Nun wir die Datei “dbconnect.php” geöffnet und der folgende Code hineingeschrieben:
<?php
$connect = @mysql_connect('db_host', 'db_username', 'db_password')
or die('Konnte keine Verbindung zum Datenbankserver aufbauen!');
$selectDB = @mysql_select_db('db_name', $connect)
or die('Konnte die Datenbank <b>' . $dbName . '</b> nicht auswählen!');
?>
Die Platzhalter für die Verbindungsdaten sind dann durch die eigenen Daten zu ersetzten.




Sonntag, 2. März 2008
Der Captcha-Artikel sieht *sehr* gut aus (auch wenn ich noch keine Zeit hatte, ihn im einzelnen durchzulesen). Vielen Dank!
Sonntag, 2. März 2008
Es scheint allerdings gute Argumente zu geben, auf Captchas zu verzichten, vgl.
http://1ngo.de/web/captcha-spam.html
Sonntag, 2. März 2008
Klar sind Captchas nicht das perfekte Wundermittel gegen Spam, wurde von mir ja auch nie behauptet. Ich sehe sie lediglich als eine Lösung von vielen und daher der Artikel
Dienstag, 24. Juni 2008
Das Tut ist wirklich gut,bei mir gibt es allerdings einen Schönheitsfehler,es findet kein Abbruch statt wenn ich überhaupt nichts eintrage.??habe es in mein Gästebuch eingefügt. (-: