hallo, ich möchte gerne meine Webseite auf SQL-Injection absichern, deswegen ziehe ich mir gerade ein paar Tuts rein
1 2 3 4 5 6 7 | $stmt = $db->prepare("SELECT username FORM users WHERE username = ? AND passowrd = ?"); $myusername = $_POST['username']; $mypassword = $_POST['password']; $stmt->bind_param("ss",$myusername,$mypassword); // geht nicht ?! |
... Ist die letzte Zeile veraltet? Mit welche PHP Version kann ich das testen?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $myusername = mysqli_real_escape_string($db,$_POST['username']); $mypassword = mysqli_real_escape_string($db,$_POST['password']); $sql = "SELECT username FROM `pinuser` WHERE username = '".$myusername."' AND pin='".$mypassword."'"; $result = mysqli_query($db,$sql); $count = mysqli_num_rows($result); if($count >= 1) { //header("localhost: welcome.php"); echo("yes man"); } else { echo("Your Login Name or PAssword is invald"); } |
Password 1234 geht ohne Probleme, andere Passwöter gehen nicht. Mit dem User test und Password Injektion → 1 OR 1 = 1<- Sollte ich zugang bekommen?! Geht aber nicht. Gibts in der PHP Version 7.4 eine Änderung?
Moderiert von sebix:
Thema in einen passenden Forenbereich verschoben. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“) in jedem Forenbereich. Danke.