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ß
Daten kommen in der SQL DB nicht an
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Daten kommen in der SQL DB nicht an
Du übernimmst die Daten ohne vorherige Ã?berprüfung direkt in den Query? Mutig.toschido wrote:Die Daten übertrage ich mit diesem Script
Wird der Datensatz geschrieben, wenn du die Abfrage von Hand ausführst?toschido wrote:Scheint kein Problem zu sein. Meine Datenbank ist aber leer ! Was mach ich da falsch ?
Re: Daten kommen in der SQL DB nicht an
---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
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
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Daten kommen in der SQL DB nicht an
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().toschido wrote:In Ermangelung besseren Wissens wollte ich das so machen. Wie wäre es denn besser ?
SQL Injection Attacks by Example gibt dir eine Vorstellung davon, was sonst passiert.
Re: Daten kommen in der SQL DB nicht an
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
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Daten kommen in der SQL DB nicht an
http://shiflett.org/php-security.pdf ist ganz nett als Ã?berblick.
-
superuser1
- Posts: 291
- Joined: 2003-11-26 18:43
- Location: earth
Re: Daten kommen in der SQL DB nicht an
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
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