Valt niet veel te beoordelen. Bovenstaande controleerd alleen of het wachtwoord klopt ja of nee.
Ps je hoeft alleen mysql_real_escape_string() over variabelen te gooien als je ze in je query gebruikt. Dat bij if != wachtwoord is onnodig dus. die backtics kun je er uit slopen zijn nergens voor nodig, $variabelen buiten quotes halen is ook beter leesbaar.
sha1 is sterker dan md5.
EDIT: Iets te laat, ± alles wat Arjan al voor je gedaan heeft.
?
Onbekende gebruiker
23-06-2010 16:50
Je kunt ook gewoon dat password in de query, in de where, proppen en dan kijken of er maar een resultaat komt. Mysql kent ook md5.
Verder is het gebruik van [php]mysql_fetch_assoc[/php] beter dan object, omdat object geen toegevoegde waarde heeft (het levert maar een nep object op en is trager).
Selecteer ook wat je wilt selecteren. Gebruik niet *.
Wat ik je wel aanraadt is om vóór de gegeven code te controleren of er wel wat is ingevuld in het "login" veld en in het "wachtwoord" veld. Dan weet je zeker dat er geen lege velden worden gecontroleerd, anders wordt het wel heel makkelijk.
Ook bij het registreren dien je te controleren of er wel waarden zijn ingevuld bij de inloggegevens.
Sjors Anoniem op 23/06/2010 16:51:26
@Arjen Achternaam: Wat geeft !== voor toevoeging ipv !=?
Het maakt in dit geval niet veel uit, maar met een dubbele = (==) wordt ook gekeken of het type (string, integer, boolean, etc.) overeenkomt met elkaar. Maar in jouw geval zal het altijd een string zijn, dus volstaat een enkele = ook wel.