Hoofdlettergevoelig inlogsysteem.

Status
Niet open voor verdere reacties.

scfrutger

Nieuwe gebruiker
Lid geworden
21 mrt 2013
Berichten
1
Hallo forumleden,

Ik heb deze tutorial gevolgd om een inlog systeem te maken met PHP en SQL:

http://www.phpeasystep.com/phptu/6.html

Dit is mij gelukt alleen zit ik met een klein probleempje.
Als ik in log met een gebruikersnaam en wachtwoord kan ik deze gegevens in zowel HOOFDLETTERS als kleine letters invoeren en ik log dan gewoon in.

Bijvoorbeeld het wachtwoord is:

Wachtwoord01

Dan kan ik inloggen met:

WACHTWOORD01
wachtwoord01

Is dit makkelijk op te lossen?

Met vriendelijke groet,

SCFrutger
 
Als je het helemaal goed wilt doen, kan je je wachtwoord beste meteen encrypten tijdens de registratie. MD5, SHA1, SHA256, etc (kies bewust). In dat geval kan je je databaseveld-instelling gerust Case Insensitive houden. De hash waarde is immers kleine letters en nummer combinaties.
 
O sorry! zie nu pas dat het in PHP moest zijn :( zie geen mogelijkheid om reactie te verwijderen, sorry...
 
ik gebruik deze: http://mijnhtmlsite.weebly.com/inlogsysteem.html , kun je zelf ww invoeren en volgens mij hoofdlettergevoelig..
veeel succes xEstel
Alleen jammer dat het nul beveiliging biedt. Je wachtwoord en gebruikersnaam zijn namelijk gewoon te zien in de broncode. Je kunt javascript niet gebruiken om je site op slot te doen.
O sorry! zie nu pas dat het in PHP moest zijn :( zie geen mogelijkheid om reactie te verwijderen, sorry...
Kilk op "Bericht aanpassen" en dan op "verwijder".
 
Laatst bewerkt:
Als ik het zo zie is je eerste fout dat je de wachtwoorden niet encrypt.
Ik raad je aan een functie aan te maken die zoiets doet:
Code:
function encrypt($string, $salt)
{
    return sha1(md5(sha1($string . $salt)));
}

En te zorgen dat je hiermee je wachtwoorden encrypt. SHA1 en MD5 zijn beide hoofdlettergevoelig.
Code:
$salt = "Mijn4S@LT";

$wachtwoord = encrypt($wachtwoord, $salt);

De salt zorgt er voor dat het nog lastiger is voor een hacker om de hash te brute-forcen.

1. Sla je wachtwoorden encrypted op.
2. Encrypt een wachtwoord bij het inloggen voordat je het vergelijkt met het wachtwoord uit de database.
3. Zorg dat de salt altijd hetzelfde is, anders krijg je verschillende hashes.

- Tim
 
In plaats van zelf iets in elkaar te draaien is het denk een beter idee om iets te gebruiken dat door professionals is gebouwd. Cryptografie is een nogal complex onderwerp. Phpass heeft een goede reputatie.

3. Zorg dat de salt altijd hetzelfde is, anders krijg je verschillende hashes.
Dat is juist goed, zoals je het nu laat zien krijg je bij dezelfde wachtwoorden hetzelfde hash. Je hoeft ieder uniek wachtwoord dus maar één keer te kraken. Daarbij is de md5 hash niet erg geschikt voor dit doel. md5 hashes zijn extreem snel aan te maken waardoor een hacker die je DB in handen heeft heel snel verschillende combinaties kan proberen om de wachtwoorden te breken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan