Visa ett inlägg
Oläst 2009-09-01, 06:18 #22
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
Citat:
Ursprungligen postat av SimonP Visa inlägg
GET domain?UserID=1234&requestKey=BBBBBBBBBBBBBBBBBBBB &timezone=4
timezone behövs inte om man har specat att tiden alltid ska anges i UTC, eller om man använder sig av unix timestamp oformaterad (som ska vara lika hos klient och server även om det är olika tidszoner).

Citat:
Ursprungligen postat av SimonP Visa inlägg
Servern verifierar med denna pseudokod:
$time=time(YYYYMMDDHH)(+-timezone);
$userkey = hämtas ifrån databasen, UserID används för att söka
if (requestKey == SHA1($userkey+$time) process_client_request();
else die("Wrong passhash or wrong timestamp!");
Här har man problemet att man kan få "false negative" om t.ex. klientens tid är 20090901055959 och serverns tid är 20090901060000. I mitt exempel löste jag det genom att även kolla tiden +/-1 om den första hashen inte matchar.
BjörnJ är inte uppkopplad   Svara med citatSvara med citat