Ik ben bezig geweest met een login systeem met challenge/response en dit werkt perfect in FF2.0 & IE6 maar niet in FF1.5.
Het gaat zegmaar zo:
- In de pagina login.php zet ik een session var met een random code ($_SESSION['challenge'])
- vervolgens krijgt de user het form te zien en mbv. javascript word het onsubmit het password gehasht naar SHA256. So far so good.
- Dan komt in login.php de post request binnen waar ik de session var vergelijk met de challenge in de post die dus hetzelfde zouden moeten zijn. In IE6 & FF2 is dit inderdaad het geval en word ik netjes ingelogd. In FF1.5 echter verschild die sessie variabele met de post waarde, altijd. Het bizarre er aan is dat ik wat ging bug testen :
in index.php (waarin ik uiteindelijk de login.php include) echo ik direct na de session_start die session variabele en dit doe ik ook nog een keer voordat ik ik de vergelijking maak tussen de post var en de session var. Het bizarre er aan is dat als ik dat doe de variabelen _wel_ altijd overeenkomen. als ik de echo in index.php weghaal dan zijn ze niet meer gelijk. Alleen in FF1.5 dus, de andere 2 browsers doen precies zoals t bedacht is.
Kent iemand dit probleem, en nog belangrijker : hoe is dit te fixen?
Btw, om mn eigen FF1.5 uit te sluiten heb ik portable firefox 1.5 nog gedownload maar daarin hetzelfde probleem.
Het gaat zegmaar zo:
- In de pagina login.php zet ik een session var met een random code ($_SESSION['challenge'])
- vervolgens krijgt de user het form te zien en mbv. javascript word het onsubmit het password gehasht naar SHA256. So far so good.
- Dan komt in login.php de post request binnen waar ik de session var vergelijk met de challenge in de post die dus hetzelfde zouden moeten zijn. In IE6 & FF2 is dit inderdaad het geval en word ik netjes ingelogd. In FF1.5 echter verschild die sessie variabele met de post waarde, altijd. Het bizarre er aan is dat ik wat ging bug testen :
in index.php (waarin ik uiteindelijk de login.php include) echo ik direct na de session_start die session variabele en dit doe ik ook nog een keer voordat ik ik de vergelijking maak tussen de post var en de session var. Het bizarre er aan is dat als ik dat doe de variabelen _wel_ altijd overeenkomen. als ik de echo in index.php weghaal dan zijn ze niet meer gelijk. Alleen in FF1.5 dus, de andere 2 browsers doen precies zoals t bedacht is.
Kent iemand dit probleem, en nog belangrijker : hoe is dit te fixen?
Btw, om mn eigen FF1.5 uit te sluiten heb ik portable firefox 1.5 nog gedownload maar daarin hetzelfde probleem.