Variable aus PHP Session in MySQL suchen
bearbeitet von Felix RiestererLiebe(r) benutzer19,
ich sehe da ein paar grundlegende Probleme, die auch sicherheitsrelevant sind!
> ~~~
> $_SESSION["username"] = $_POST["username"];
> ~~~
Man sieht `$_SESSION['username']`{:.language-php} später nicht mehr an, dass hier eine Benutzereingabe unbehandelt geblieben ist und daher für SQL potenziell bösartig sein kann.
> ~~~ html
> <div class="abstand_oben">
> <input type="text" formaction ="bereits_angemeldet.php" name="username" placeholder="Benutzername" required><br>
> </div>
Wie man Formularelemente korrekt verwendet, findest Du in unserem Wiki: [Formulare/Beschriftungen mit label](https://wiki.selfhtml.org/wiki/HTML/Tutorials/Formulare/Beschriftungen)
> ~~~ php
> $userid = mysql_query($mysqli, "SELECT ACCOUNTID from accounts WHERE USERNAME = '$_SESSION['username']) .' " );
> ~~~
Hier sehen wir, wie ein ursprünglicher `$_POST`-Wert, also eine Benutzereingabe(!!), auf Umwegen (über ein Umkopieren nach `$_SESSION`) in seiner unbehandelten Form direkt in eine SQL-Query eingefügt wird. Da fehlt [die unerlässliche kontext-gerechte Behandlung](https://wiki.selfhtml.org/wiki/Programmiertechnik/Kontextwechsel#Fehler_und_deren_Auswirkungen)!
Man kann nur von Glück reden, dass Dein Code so noch nicht lauffähig ist, sonst wäre diese Sicherheitslücke ausnutzbar.
Liebe Grüße
Felix Riesterer