Nemesis_FF
Grünschnabel
Vielen Dank für deine ausführliche Antwort.
Stimmt, mit dem "mysql_fetch_array" war i.was, ich werde mal googeln, wie das funktioniert.
Das finde ich gerade unglaublich lustig und absolut genial, darauf wäre ich niemals gekommen, das sowas überhaupt möglich ist. Einfach der Wahnsinn, würde ich eine "echte" Webseite erstellen, sollte ich das schleunigst ändern.
Wusste, dass das kommt, aber ich werde es nicht ändern, da es von unserem Info-utor so gezeigt wurde und ich die Zeit nicht habe, zu gucken, wie es richtig geht. Danke jedoch für den Hinweis.
Stimmt, mit dem "mysql_fetch_array" war i.was, ich werde mal googeln, wie das funktioniert.
Zum Teil mit GET/POST:
Hast du schon mal was von mysql_real_escape_string gehört?
Irgendwas, was von "außen" kommt (Benutzereingaben in Formularen...)
sollte man nicht direkt in SQL-Abfragen verwenden,
weil man mit passenden Eingaben alles manipulieren kann.
Beispiel:
SELECT nachname FROM mitarbeiter WHERE vorname = "$name"
$name ist in PHP etwas, dass ursprünglich vom Webseitenbenutzer eingegeben wurde
Eingabe Hans
SELECT nachname FROM mitarbeiter WHERE vorname = "Hans"
Alles in Ordnung.
Eingabe Peter
SELECT nachname FROM mitarbeiter WHERE vorname = "Peter"
Auch alles in Ordnung.
Eingabe Hans" OR vorname = "Peter
SELECT nachname FROM mitarbeiter WHERE vorname = "Hans" OR vorname = "Peter"
Damit hätt ich eine andere Abfrage.
Je nachdem, was PHP mit dem Ergebnis macht, passiert eventuell noch mehr ungewolltes.
Und mit bla"; DROP TABLE mitarbeiter; SELECT "haha
ergibt
Code :
1
2
SELECT nachname FROM mitarbeiter WHERE vorname = "bla";
DROP TABLE mitarbeiter; SELECT "haha"
lösch ich dir die ganze Mitarbeitertabelle.
(es sind drei einzelne Anweisungen geworden.
Zuerst die normale Abfrage, dann das löschen, dann noch ein Select
um die Anführungszeichen ordentlich zu haben.)
Das finde ich gerade unglaublich lustig und absolut genial, darauf wäre ich niemals gekommen, das sowas überhaupt möglich ist. Einfach der Wahnsinn, würde ich eine "echte" Webseite erstellen, sollte ich das schleunigst ändern.
Und zu MySQLi und deprecated:
Die Art, wie du auf die Datenbank zugreifst, sollte man schon lange nicht mehr verwenden.
Nur eine Frage der Zeit, bis es so nicht mehr funktioniert.
Leider gibts viele (alte) Einsteigertutorials, die das noch so zeigen,
und bei Google ziemlich oben stehen oder so und deswegen oft gelesen werden.
Wusste, dass das kommt, aber ich werde es nicht ändern, da es von unserem Info-utor so gezeigt wurde und ich die Zeit nicht habe, zu gucken, wie es richtig geht. Danke jedoch für den Hinweis.