Stap 4: Voorbeeldcode
Voor het testen van redenen, schreef ik dit kleine script. Het opent een databaseverbinding, biedt een vorm en probeert te vinden van een gebruiker in de database overeenkomen met de referenties die u hebt ingevoerd (e-mailadres en wachtwoord). Gewoon sla het script op uw webserver en het bestand "mysql-injection.php" noemen. U wellicht bijwerken de naam van de database voor de "mysql_select_db" functie als uw database niet dezelfde naam heeft:
<?phperror_reporting(E_ALL ^ E_DEPRECATED);mysql_connect('localhost', 'root', ''); mysql_select_db('mysql-injection');if (!empty($_POST['email']) && !empty($_POST['password'])) { $query = 'SELECT * FROM `user` WHERE `email` = \''.$_POST['email'].'\' AND `password` = \''.md5($_POST['password']).'\''; echo 'Used query: ',$query,'<br /><br />'; $resource = mysql_query($query); $matches = mysql_num_rows($resource); if ($matches > 0) { $user = mysql_fetch_assoc($resource); echo 'Hello '.$user['email'].'!'; } else { echo 'Invalid credentials!'; } }?><form method="post" action="mysql-injection.php"> <p>Log in to get privileges!</p> Mail: <input type="email" name="email" value="<?=!empty($_POST['email']) ? $_POST['email'] : ''?>" /><br /> Password: <input type="password" name="password" value="<?=!empty($_POST['password']) ? $_POST['password'] : ''?>" /><br /> <br /> <input type="submit" name="submit" /> </form>