Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

PHP/MySql sql injection verhindern

Diskussion: PHP/MySql sql injection verhindern im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo ! Ich habe eine kleine Frage. In einer PHP Datei kommt folgendes Code: $user = $_POST['nickname']; // db ...

Antwort
Alt 05.08.09, 12:02   #1 (permalink)
 
Registriert seit: 19.08.04
Dawen Leistung: Addierstift
Likes: 1
Standard PHP/MySql sql injection verhindern

Anzeige

Hallo !

Ich habe eine kleine Frage.

In einer PHP Datei kommt folgendes

Code:
$user = $_POST['nickname'];
// db verbindung aufbauen
$sql = "INSERT INTO tab_user(nick) values(".$user.")";
mysql_query($sql);
Wir könnte man verhindern, dasss hier kein sql injection stattfindet ?
Dawen ist offline   Mit Zitat antworten
Alt 05.08.09, 12:42   #2 (permalink)
sw33tlull4by
Guest
 
Likes:
Standard

Crossposting^^
interessanter Link (PHP "Sicherheit")(einfach dem im ersten Post angegeben Punkt folgen und zu mysql-injection springen)

falls die Werte bekannt sind kannst du auch, das HTML-Formular mittels PHP dynamisch erstellen und
per select-Tags die Optionen zur auswahl anbieten.
  Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 05.08.09, 14:39   #3 (permalink)
Senior Member
 
Benutzerbild von t3rr0r.bYt3
 
Registriert seit: 07.01.03
t3rr0r.bYt3 Leistung: Z3
Likes: 19
Standard

Stichwort "Prepared Statements". Auf keinen Fall eine Query als String-Konkatenation zusammenbauen (wenn der User *irgendwie* Einfluss auf mindestens ein Element der Query haben kann).
t3rr0r.bYt3 ist offline   Mit Zitat antworten
Alt 05.08.09, 17:04   #4 (permalink)
 
Registriert seit: 19.07.09
GregorSamsa Leistung: Facit NTK
Likes: 0
Standard

Ganz ehrlich, wie viele Leute benutzen prepared statements?

Mit intval() für Zahlen und mysql_real_escape_string() für Strings bist du schon gut dabei.

Ich empfehle dir nur kein addslashes, da addslashes unter Umständen umgangen werden kann...
GregorSamsa ist offline   Mit Zitat antworten
Alt 05.08.09, 17:41   #5 (permalink)
.doc
Guest
 
Likes:
Standard

Zitat:
Original von GregorSamsa
Ganz ehrlich, wie viele Leute benutzen prepared statements?
Kein Grund, nicht darauf hinzuweisen. PHP5 bietet mit PDO hierzu die benötigten Funktionen sogar "von Haus aus" an. Siehe dazu auch http://de.php.net/manual/de/pdo.prepared-statements.php
  Mit Zitat antworten
Alt 05.08.09, 19:24   #6 (permalink)
Senior Member
 
Benutzerbild von t3rr0r.bYt3
 
Registriert seit: 07.01.03
t3rr0r.bYt3 Leistung: Z3
Likes: 19
Standard

Zitat:
Ganz ehrlich, wie viele Leute benutzen prepared statements?
Äh, ja, und?

Nur weil die meisten keine Ahnung haben, heißt das nicht, dass man mal etwas richtig machen darf? Escaping ist da nur ein sehr unsauberer Workaround (und zudem escaped mysql_real_escape_string() keine "_" und "%", die man z.b. in LIKE-Ausdrücken verwenden kann).
t3rr0r.bYt3 ist offline   Mit Zitat antworten
Alt 05.08.09, 19:40   #7 (permalink)
sw33tlull4by
Guest
 
Likes:
Standard

Vielen dank fuer den Hinweis mit den Prepared Statements , kannte ich noch nicht.
mfg

sw33t
  Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » PHP/MySql sql injection verhindern
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Injectionen in PHP verhindern[reicht das?] frankred (In)security allgemein 6 03.04.08 14:50
MySQL-Injection und weiter? kuzdu (In)security allgemein 2 26.07.07 17:38
MySQL injection Globestern (In)security allgemein 1 21.02.06 12:30
mySQL injection _fux_ (In)security allgemein 5 12.10.05 17:05
MySQL-Injection Elderan (In)security allgemein 1 05.10.04 19:55


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61