[testcase] Safe login
Ik zou graag nog eens wat feedback krijgen van jullie.
Zoals enkelen van jullie weten was ik enige tijd geleden begonnen met het ontwikkelen van een veilige loginformulier over http (bij https is dit overbodig). Ik had het idee van Kerberos in gedachte en wou dit dan ook gedeeltelijk uitwerken. Toen kwam ik op 2 stukken vast te zitten, nl. :
• JS encryptie -> PHP decryptie: Dit heb ik nu werkend dmv DES encryptie.
• Gesyncroniseerde tijd tussen server en client: Hier heb ik de manier van Jelmer en Arend toegepast en die is waarschijnlijk beter.
Dus, nu moet alleen nog de combinatie van die 2 op verschillende systemen getest worden.
http://casteleyn.no-ip.info:8080/~Hipska/test/safe_login.php
Waar ik vooral benieuwd in ben is het gemeten tijdsverschil die je als response krijgt bij het correct invullen van gebruikersnaam en wachtwoord (zie de source van decrypt.php voor wachtwoorden). Voorlopig kan je deze wachtwoorden gebruiken om te testen:
Alvast bedankt..
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
response hier is 0,049 seconden.
Doe het ook een paar keer, zo zijn er meer testresultaten.
Bij mijzelf altijd iets in deze range 0.0x - 0.2 met uitschieters tot ergens in 0.7x
Erg veel precieser kan het bijna niet, want php levert een timestamp in seconden en JS levert er een in milliseconden, daar zit dus al een fout van max. 0.999 seconden op
...
Ik heb het scriptje beetje aangepast en het werkt nu met microtime (foutmarge is nu nog kleiner)
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
Succesvol ingelogd!
Tijdverschil: 1.691s (tussen locale en server tijd)
Maar hij werkt ook goed wanneer ik op mijn laptop de pagina open zet, hem vervolgens een minuutje laat sluimeren, weer open doe en test/test invul en op enter druk.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
dus minder dan 0 seconden?
ik kan ook niet inloggen gek genoeg, ik werk met IE en onderaan komt : fout op de pagina.
:s
Poging 2: 0.384647846222s
Poging 3: 0.538437843323s
Wil je hiermee kijken hoe lang het invullen duurt?
Een computer (cUrl) vult dat natuurlijk in 0,1 seconde in, maar mensen zullen altijd iets trager zijn.
Let wel op dat Opera (en andere auto-inlogfuncties) dan ook tegengehouden kunnen worden.
Quote:
Succesvol ingelogd!
Tijdverschil: -1.77s (tussen locale en server tijd)
Tijdverschil: -1.77s (tussen locale en server tijd)
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Quote:
Gemeten tijdsverschil: 0.111711025238s (tusen de server en de verstuurde tijd)
Succesvol ingelogd!
Tijdverschil: 7.358s (tussen locale en server tijd)
Succesvol ingelogd!
Tijdverschil: 7.358s (tussen locale en server tijd)
02: 0,517999887466
03: 0,411000013351
04: 0,596999883652
05: 0,210000038147
06: 1,102999925610
07: 0,867000102997
08: 0,867000102997
09: 0,526999950409
10: 1,171000003810
AVG: 0,7782999992359
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
@Eddy: Nee, je kan het best vergelijken met latency, vertraging tussen het genereren en het laden van de pagina en ook het encrypteren-versturen-decrypteren.
@SanThe: Komt omdat er nog geen controle zit of de username wel bestaat ;-)
PS: De gemeten tijdsverschil is de enige die hier belangerijk is, de andere is louter ter informatie hoeveel verschil er is tussen uw klok en de mijne.
Maarre, jouw inlog dingetje he, werkt dat dan ook als je JS uit hebt staan? :P Want dan heb je er nog niks aan hé
@SanThe: dat is nu opgelost..
Gemeten tijdsverschil: 1225918347.81s (tusen de server en de verstuurde tijd)
Niet ingelogd! (tijdsverschil te groot)
Tijdverschil: 3.277s (tussen locale en server tijd)
@Jonathan: Dan heb je verkeerd wachtwoord ingevuld.
<p><input type="submit" /></p>
moet daar geen name en value bij?
2: 0.359529018402s
3: 3.48635077477s
@klaasjan: value kan ik wel nog bij inkomen, maar name?!? waarom zou dat moeten?
@Hipska je hebt gelijk
Quote:
Gemeten tijdsverschil: 1225922726.16s (tusen de server en de verstuurde tijd)
Niet ingelogd! (tijdsverschil te groot)
Tijdverschil: 2.867s (tussen locale en server tijd)
Niet ingelogd! (tijdsverschil te groot)
Tijdverschil: 2.867s (tussen locale en server tijd)
Quote:
Gemeten tijdsverschil: 1225922751.57s (tusen de server en de verstuurde tijd)
Gemeten tijdsverschil: 1225922776.76s (tusen de server en de verstuurde tijd)
Gemeten tijdsverschil: 1225922805.19s (tusen de server en de verstuurde tijd)
Gemeten tijdsverschil: 1225922776.76s (tusen de server en de verstuurde tijd)
Gemeten tijdsverschil: 1225922805.19s (tusen de server en de verstuurde tijd)
Tijdverschil tussen locale en server tijd varieert van 0.03X tot 0.05X.
Ik zag dat Jonathan ook al zo'n groot verschil had. Als ik het me goed herinner werkt hij op een mac, en ik ook. Het zou dus aan safari of OSX kunnen liggen. (Wanneer ik switch naar windows via bootcamp staat mijn klok namelijk ook altijd enkele uren.
edit:
Ik kwam net tot de conclusie dat het gemeten tijdsverschil gewoon de huidige timestamp is.
edit2:
Ook firefox geeft dezelfde afwijking
edit3:
edit4:
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
BTW ik werk enkel met Safari, dus daar ligt het niet aan.
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE