Johan Holst Nielsen skrev:
> Næh det var faktisk mit indlæg du svarede... synes rent faktisk dit
> forslag og mit meget ligner hinanden (faktisk gør alle). Den eneste
> forskel du har i forhold til "os andre" er at du har medtaget hele
> databasestrukturen osv :)
Lidt træt skal man også have lov til at være... :p
Anyways, for mig, virkede det som at tråden begyndte at handle om
sikkerheden i MD5 krypteringen af bruger id eller navn og så videre.
Hvis man, ud fra det script man har lavet, virkelig fortæller hvad md5
krypteringen består af, så har man jo ikke fortjent bedre end at få
væltet sit site, på grund af den dårlige kode.
Eksempel:
aktivering.php?bruger_id=f30ac21c1aab9c1dac9a3aac7e4d5e3c
Uanset om det er tilfældet eller ej, giver man brugeren en indikation om
at den krypterede streng er brugerens brugerid.
aktivering.php?code=f30ac21c1aab9c1dac9a3aac7e4d5e3c
Ovenstående viser på ingen måde, hvad md5 krypteringen er baseret på.
e7649c8938e38a671cd82a7328505bdf
ef5c1f6daae6b1ea49bb6dc6f3812073
Personligt vælger jeg at aktivere brugeren således:
activate/e7649c8938e38a671cd82a7328505bdfef5c1f6daae6b1ea49bb6dc6f3812073
$code = $_SERVER["PATH_INFO"];
$hash1 = substr($code, 1, 32);
$hash2 = substr($code, 33, 32);
$query = mysql_query("SELECT id FROM users WHERE MD5(CONCAT(id,
username)) = '".$hash1."' AND MD5(CONCAT(email, timestamp)) =
'".$hash2."' AND active = 0");
if(mysql_num_rows($query)>0)
{
$userid = mysql_result($query, 0, "id");
mysql_query("UPDATE users SET active=0 WHERE id=".$userid;
}
Så slipper jeg både for den ekstra tabel og så forekommer det mig
relativt svært at gætte.
Men det er jo også kun en holdning. :)
Beklager, hvis jeg har overanalyseret tråden... :)
--
Dan Storm - storm at err0r dot dk /
http://err0r.dk
Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!