Hallo ik ben een aanmeld script aan het maken de controle moet er nog ingezet worden, ik wil graag dat het wachtwoord md5 in de db word gezet maar ik krijg dat niet voor elkaar dis is mijn code nu:
[php]
<?php
error_reporting(E_ALL);
if (!is_logged_in())
{
geen addslashes gebruiken maar mysql_real_escape_string en/of htmlentities
?
Onbekende gebruiker
22-10-2009 21:11
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 [google]xss[/google] ([google]cross site scripting[/google].
Als je dat allemaal hebt gedaan, ga je over naar md5.
Syntax:
md5($pass)
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.
?
Onbekende gebruiker
23-10-2009 00:22
Owja, let wel even op dat je een salt moet toevoegen?
Dus dat je dan:
<?php
md5('hier-een-unieke-string' . $pass)
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.
Nou eerlijk gezegt heb ik er de ballen verstand van.
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
[quote='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