Ik dacht dat we inmiddels toch slim genoeg waren om een basale beveiliging in te bouwen in een Internet site. Maar bij een code-review van een recent opgeleverd project kwam ik de volgende code tegen:
public string ValidateUser(string user, string password)
{
string type ;
OracleDataReader myReader ;
string mySelectQuery = "SELECT TYPE FROM AUTORISATIE WHERE GEBRUIKERSNAAM = '"
+ user + "' AND WACHTWOORD = '" + password + "'" ;
OracleCommand myCommand = new OracleCommand(mySelectQuery,SessieConnectie);
myCommand.Connection.Open();
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
type = myReader.GetOracleString(0).ToString() ;
}
myReader.Close() ;
return type;
}
Op een login.aspx kan ik de user en password opgeven. Vraag: welke 'user/password' combinatie levert als return 'BEHEERDER' op?