MD5 toevoegen
[linebreak]Code (php) 123456789101112131415161718192021 <?php error_reporting(E_ALL); if (!is_logged_in()) { echo "Je bent niet ingelogd."; } else { if(isset($_POST[verzenden])) { $sGebruikersnaam = addslashes($_POST[gebruikersnaam]); $sWachtwoord = addslashes($_POST[wachtwoord]); $sEmail = addslashes($_POST[email]); mysql_query("INSERT INTO leden (username, password, email, iptje, aanmelddatum) VALUES (".$sGebruikersnaam.", ".$sWachtwoord.", ".$sEmail.", ".$_SERVER[REMOTE_ADDR].", ".time().")") or die (mysql_error()); echo Klant succesvol toegevoegd; } else { ?> Code (php) 123456 <form action="" method="POST">Gebruikersnaam: <input type="text" name="gebruikersnaam"><br /> Wachtwoord: <input type="text" name="wachtwoord"><br /> Email: <input type="text" name="email"><br /> <input type="submit" name="verzenden" value="verzenden"> </form> [linebreak]Code (php) 12345 <? } } ?> [linebreak]
Gewijzigd op 01/01/1970 01:00:00 door Roy
@ tjes weg
"" != ''
addslashes
inline js
headers
hoofdletters in checks
etcetcetc
Controle moet ik dan nog wel inbouwen.
Maar ik neem aan dat ik zo op de goede weg ben?
wes schreef op 22.10.2009 15:14:
Leer even de basis PHP en afhandeling.
@ tjes weg
"" != ''
addslashes
inline js
headers
hoofdletters in checks
etcetcetc
@ tjes weg
"" != ''
addslashes
inline js
headers
hoofdletters in checks
etcetcetc
geen addslashes gebruiken maar mysql_real_escape_string en/of htmlentities
Turmin schreef op 22.10.2009 21:08:
geen addslashes gebruiken maar mysql_real_escape_string en/of htmlentities
htmlentities sowieso als de tekst aan de gebruiker wordt laten zien, anders kan de gebruiker gewoon html invoegen en dan gebruik maken van xss (cross site scripting.
Syntax:
Die zet je dan in de db, en met de login form, zet je het password om naar md5, vergelijk je de DB entry met het geposte password, maar dan in md5. Als het niet gelijk is, is het een verkeerd password, als het wel gelijk is, is het het goeie password en mag hij/zij verder.
salt moet toevoegen?
Dus dat je dan:
Owja, let wel even op dat je een Dus dat je dan:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
md5('hier-een-unieke-string' . $pass)[/code]
want als je database gehackt wordt (bijvoorbeeld d.m.v. [google]sql injections[/google]) dan liggen de passwords niet zomaar op straat.
Als iemand dan die md5 van dat password terug draait (met [google]rainbow tables[/google] bijvoorbeeld), dan werkt dat password niet. Want je hebt dan een dubbele salt.
Het is zeg maar als dit: (2+4)*3=18.
Je moet dan voorstellen dat die twee de salt is, de vier het password en de 3 de md5 functie. Als een hacker dat dan weer terug draait krijgt hij:
18/3=6
Als hij dan weer probeert in te loggen (of ergens anders) dan gebeurt er dit:
(2+6)*3=24.
Hij kan dan niet inloggen.
md5('hier-een-unieke-string' . $pass)[/code]
want als je database gehackt wordt (bijvoorbeeld d.m.v. [google]sql injections[/google]) dan liggen de passwords niet zomaar op straat.
Als iemand dan die md5 van dat password terug draait (met [google]rainbow tables[/google] bijvoorbeeld), dan werkt dat password niet. Want je hebt dan een dubbele salt.
Het is zeg maar als dit: (2+4)*3=18.
Je moet dan voorstellen dat die twee de salt is, de vier het password en de 3 de md5 functie. Als een hacker dat dan weer terug draait krijgt hij:
18/3=6
Als hij dan weer probeert in te loggen (of ergens anders) dan gebeurt er dit:
(2+6)*3=24.
Hij kan dan niet inloggen.
roy schreef op 22.10.2009 15:12:
ik wil graag dat het wachtwoord md5 in de db word gezet maar ik krijg dat niet voor elkaar
En waarom niet? Wat gaat er dan fout?
Het hele loginscript werkt al alleen de aanmelding niet die zet ik er nu met de hand in.
Ik wilde dit gebruiken om het er via een form in te zetten.
alles lukt alleen het wachtwoord komt er nu als tekst in en het moet er als md5 inkomen.
Ik heb op alle plekken waar ik dacht dat het logisch was md5 er voor gezet maar dan krijg ik fouten.
Het oude aanmeld form werkte wel maar was zo gedateerd dat ik het advies kreeg dit anders te doen.
De veldcontrolen enzo gaat mij wel lukken ik wil alleen weten hoe mijn code eruit moet zien om het wachtwoord in md5 in de db te krijgen.
Ik krijg hier wel hele goede tips maar heb geen idee wat er staat.
Ik ben wel druk een boek aan het lezen maar hoopte zo sneller inzicht te krijgen.
Groet,
Roy
SanThe schreef op 23.10.2009 05:26:
En waarom niet? Wat gaat er dan fout?
roy schreef op 22.10.2009 15:12:
ik wil graag dat het wachtwoord md5 in de db word gezet maar ik krijg dat niet voor elkaar
En waarom niet? Wat gaat er dan fout?