Daten kommen in der SQL DB nicht an

Bash, Shell, PHP, Python, Perl, CGI
toschido
Posts: 8
Joined: 2005-06-29 19:21

Daten kommen in der SQL DB nicht an

Post by toschido » 2005-07-05 23:01

Hallo,
ich versuche mich gerade an einem Gästebuch. Die Daten übertrage ich mit diesem Script

$gb_name = $_GET["gb_name"];
$gb_email = $_GET["gb_email"];
$gb_homepage = $_GET["gb_homepage"];
$gb_ueberschrift = $_GET["gb_ueberschrift"];
$gb_kommentar = $_GET["gb_kommentar"];
$gb_bewertung = $_GET["gb_bewertung"];

$gb_date = $date1;
$gb_admin_kommentar = $_GET["gb_admin_kommentar"];
$gb_admin_freigabe = $_GET["gb_admin_freigabe"];
$gb_ip_user = "$REMOTE_ADDR";
$gb_admin_freigabe = "nein";

$eintrag ="INSERT INTO gaestebuch (
gb_name,
gb_eMail,
gb_homepage,
gb_ueberschrift,
gb_kommentar,
gb_bewertung,
gb_datum
gb_admin_kommentar
gb_admin_freigabe,
gb_ip_user)
VALUES (
'$gb_name',
'$gb_email',
'$gb_homepage',
'$gb_ueberschrift',
'$gb_kommentar',
'$gb_bewertung',
'$gb_date',
'$gb_admin_kommentar',
'$gb_admin_freigabe',
'$gb_ip_user')";
mysql_query ($eintrag);
?>

die Auswertung der mysql.log sagt mir folgendes :

1922 Connect abc3@localhost on
1922 Init DB usr_abc3_3
1922 Query INSERT INTO gaestebuch (gb_name, gb_eMail, gb_homepage, gb_ueberschrift, gb_kommentar, gb_bewertung, gb_datum, gb_admin_kommentar, gb_admin_freigabe, gb_ip_user) VALUES ('Test', 'test@test.de', 'http://www.test.de', 'test überschrift', 'test kommentar', 'mittel', '05.07.2005', '', 'nein', '81.25.116.79')
1922 Quit

Scheint kein Problem zu sein. Meine Datenbank ist aber leer ! Was mach ich da falsch ?
Danke und Gruß

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Daten kommen in der SQL DB nicht an

Post by Roger Wilco » 2005-07-06 11:54

toschido wrote:Die Daten übertrage ich mit diesem Script
Du übernimmst die Daten ohne vorherige Ã?berprüfung direkt in den Query? Mutig.
toschido wrote:Scheint kein Problem zu sein. Meine Datenbank ist aber leer ! Was mach ich da falsch ?
Wird der Datensatz geschrieben, wenn du die Abfrage von Hand ausführst?

toschido
Posts: 8
Joined: 2005-06-29 19:21

Re: Daten kommen in der SQL DB nicht an

Post by toschido » 2005-07-06 12:47

---Du übernimmst die Daten ohne vorherige Ã?berprüfung direkt in den ...

In Ermangelung besseren Wissens wollte ich das so machen. Wie wäre es denn besser ?

---Wird der Datensatz geschrieben, wenn du die Abfrage von Hand ausführst?

Hab ich natürlich nicht versucht. Prüfe ich aber. Danke

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Daten kommen in der SQL DB nicht an

Post by Roger Wilco » 2005-07-06 12:51

toschido wrote:In Ermangelung besseren Wissens wollte ich das so machen. Wie wäre es denn besser ?
Die Daten vorher überprüfen, ob sie zum einen sinnvoll sind (was macht z. B. ein Zeichen, welches keine Ziffer ist, in der Bewertung?) und ggf. die Sonderzeichen escapen, z. B. mit mysql_escape_string().
SQL Injection Attacks by Example gibt dir eine Vorstellung davon, was sonst passiert.

toschido
Posts: 8
Joined: 2005-06-29 19:21

Re: Daten kommen in der SQL DB nicht an

Post by toschido » 2005-07-06 13:06

Danke, werde mich da noch weiterentwickeln. Habe das eigentliche Probl. auch beseitigen können. GB Feld enthielt einen Schreibfehler. Mist ! Hast du eine Tut. Empfehlung für deine Hinweise ?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Daten kommen in der SQL DB nicht an

Post by Roger Wilco » 2005-07-06 13:25

http://shiflett.org/php-security.pdf ist ganz nett als Ã?berblick.


toschido
Posts: 8
Joined: 2005-06-29 19:21

Re: Daten kommen in der SQL DB nicht an

Post by toschido » 2005-07-06 22:06

Danke danke danke,

werde mich wohl ein wenig mit lesen befassen müssen. Gibt es da einfache Standardscripts, die in keiner Datenbankabfragen bzw. Datenbank Inputs fehlen dürfen ? Ich muss gestehen, dass ich im Moment ein wenig überfordert bin.

Hätte auch gern noch gewusst, wie ich einen Spamschutz einbauen kann. Habe mir das so gedacht, dass ich die IP "hidden" mit Abfrage und sie für einen weitern Eintrag für die Zeit X sperre. Kann da jemand weiter helfen ?

Gruß
toschido