[PHP] Bizarre bug in Firefox 1.5 icm. Sessies?

Pagina: 1
Acties:
  • 213 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
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.

Acties:
  • 0 Henk 'm!

  • xces
  • Registratie: Juli 2001
  • Laatst online: 20-09 16:56

xces

To got or not to got..

Ik heb ook gemerkt dat ik ondanks dat ik een sessie had openstaan in een CMS ozid, dat ik bij een view-source netjes de login pagina kreeg. Ik weet niet of je dit bedoelde maar het leek erop dat hij bij een view-source een nieuwe sessie opende.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Nee, dat bedoel ik niet. De session var veranderd op een of andere manier in FF1.5 terwijl dit in FF2 en IE6 niet het geval is. Als ik op verschillende punten die var echo om te checken waar ie dan veranderd werkt het wel zoals bedoeld is. Maw. ik kan niet zien waar het misgaat omdat tijdens het debuggen het wel goed werkt.

Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
Kan je misschien wat code posten?
Dan is het voor ons ook makkelijker om te zien wat je precies doet.

Ik heb zelf ook een challenge-reponse script gemaakt die op dezelfde manier werkt.
Weet je zeker dat het niet de javascript code is die anders werkt in FF 1.5?
Dat werkt namelijk clientside, anders kan het inderdaad alleen maar aan de sessies liggen lijkt me :)

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Code posten is een beetje lastig omdat het op een complex framework draait. Ik weet zeker dat het client side deel goed werkt want dat kan ik gewoon vergelijken met de serverside kant en dat gaat zoals t hoort. Het ligt puur aan de wisselende sessie in FF1.5.

Acties:
  • 0 Henk 'm!

  • Yo-han
  • Registratie: December 2001
  • Laatst online: 18-08 20:16

Yo-han

nope.

Maar de sessie is een serverside variabel en heeft dus niets te maken met de browser.

Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
Yo-han schreef op dinsdag 23 januari 2007 @ 14:22:
Maar de sessie is een serverside variabel en heeft dus niets te maken met de browser.
Dat klopt, maar de server moet wel weten bij welke client de sessie hoort.
En die cookies worden afgehandeld door de browser. :)

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Ik had gehoopt dat iemand misschien iets afwist van een dergelijke bug. Ik ga vanavond even kijken of ik het kan reproduceren in een simpelere versie en dan post ik die code voor jullie.

Acties:
  • 0 Henk 'm!

  • Yo-han
  • Registratie: December 2001
  • Laatst online: 18-08 20:16

Yo-han

nope.

Gonadan schreef op dinsdag 23 januari 2007 @ 14:28:
[...]

Dat klopt, maar de server moet wel weten bij welke client de sessie hoort.
En die cookies worden afgehandeld door de browser. :)
In de cookie wordt enkel het id opgeslagen... niet de waarde van de sessie.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Niet toevallig een brakke password-manager of auto-complete van formvelden ofzo?

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
Yo-han schreef op dinsdag 23 januari 2007 @ 14:43:
In de cookie wordt enkel het id opgeslagen... niet de waarde van de sessie.
Maar als de ID niet klopt, dan zal de waarde van de sessie ook niet degene zijn die je zou willen hebben. :)

Naar aanleiding van crisp:
Hij heeft een punt, CTRL-F5 inplaats van gewoon refresh, cache leeggooien, cookies verwijderen.
;)

[ Voor 18% gewijzigd door Gonadan op 23-01-2007 14:50 ]

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Heb alles geleegd wat er maar kan, maar het reproduceert zich op meerdere pc's ook. Zoals in de TS staat heb ik ook portable firefox getest (v1.5) en daar deed zich t zelfde voor terwijl in v2.0 alles prima was.

De cookies veranderen overigens niet, dit heb ik gecheckt met de developer toolbar voor firefox.

crisp: is een goede opzich maar dat is t ook niet. Het rare is dus dat als ik de waarde direct aan het begin van het script echo alles wel werkt, maar zodra ik die echo weghaal word mn waarde anders dan ie zou moeten zijn.

[ Voor 26% gewijzigd door Cartman! op 23-01-2007 15:44 ]


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Zet ook wat headers in je script die zorgen dat je pages nooit gecached worden, misschien helpt dat...

Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 14:39

Johnny

ondergewaardeerde internetguru

Ik heb ook ooit eens zoiets gehad, toen deed het probleem zich ook enkel voor op Windows XP, waarmee de waarde van het wachtwoordveld niet goed werd uitgelezen dacht ik. Met welke versie van Firefox het was weet ik niet meer.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Bizarre update:

Als er output is voordat ik in de geinclude pagina kom dan zijn de 2 vars wel gelijk, een echo 'test'; volstaat daarmee al. Als ik niks output werkt het niet. Alleen in FF1.5 voor de duidelijkheid.

Acties:
  • 0 Henk 'm!

  • Helmet
  • Registratie: Januari 2002
  • Laatst online: 21-08 15:00
lijkt er dus op dat je sessie niet werkt ? :)

Icons are overrated


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Daar was ik al achter ja, de vraag is : waarom werkt het niet, en in het bijzonder: waarom wel op FF2 en IE6?

Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Eerste waar ik aan denk is eigenlijk gewoon, heb je niet ergens een (header) redirect staan (deze wordt niet meer gestuurd als ervoor output is, wat er is op het moment dat je iets echo't). (If so, dan is het wss gewoon een caching probleem)

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Nee, geen redirects. Zou wederom niet verklaren waarom het in andere browsers wel werkt.
En je zou een error krijgen 'cannot modify headers', die krijg ik niet.

edit:
Heb het session id gecheckt en die blijft gewoon gelijk, dat is t dus ook niet... krijg dr onderhand een punthoofd van...waarom kan die shit niet gewoon werken :(


edit2:
dit slaat echt ALLES gewoon.

als ik dit plaats :
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// start session
session_start();

// set cache control to private and default charset to UTF-8
header('Cache-control: private');
header('Content-Type: text/html; charset=UTF-8');

// workaround for firefox 1.5
if($_POST['challenge'] == $_SESSION['strChallenge'])
{
    $blnChallenge = TRUE;
}
else
{
    $blnChallenge = FALSE;
}


dan is het altijd FALSE
maar zodra ik ook maar iets output (echo) voor die vergelijking dan is het wel zoals het hoort te zijn; TRUE.
Dit is toch te bizar voor woorden 8)7

[ Voor 82% gewijzigd door Cartman! op 23-01-2007 23:09 ]


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Cartman! schreef op dinsdag 23 januari 2007 @ 20:07:
[...]
edit2:
dit slaat echt ALLES gewoon.

als ik dit plaats :
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// start session
session_start();

// set cache control to private and default charset to UTF-8
header('Cache-control: private');
header('Content-Type: text/html; charset=UTF-8');

// workaround for firefox 1.5
if($_POST['challenge'] == $_SESSION['strChallenge'])
{
    $blnChallenge = TRUE;
}
else
{
    $blnChallenge = FALSE;
}


dan is het altijd FALSE
maar zodra ik ook maar iets output (echo) voor die vergelijking dan is het wel zoals het hoort te zijn; TRUE.
Dit is toch te bizar voor woorden 8)7
Mmmz, dat zou dan toch meer op een serverside (PHP) probleem duiden - wellicht getriggered door iets in de request headers. Ik zou persoonlijk eens met een HTTP sniffer in de weer gaan en request/response headers van een foutieve en goede situatie met elkaar vergelijken om te kijken waar en wat er nou precies gebeurd en waar het de fout in gaat.

Is het overigens de POST value die niet klopt of de SESSION value?
Welke PHP versie praten we over?
Hoe registreer je je sessie-variabelen? toch niet met session_register hoop ik?
Staat register_globals aan of uit? Heb je code specifiek voor bepaalde UserAgent strings?
Staat je error_reporting wel goed - onderdruk je niet toevallig warnings?
Je gebruikt javascript om de respons voor de challenge clientside samen te stellen. Doe je dat in de onsubmit handler? Submit je je formulier vervolgens met javascript of gewoon via de action van je form en indien het eerste: cancel je dan wel de action van je form zodat je niet per ongeluk 2 submits krijgt?

Maar nogmaals: waarschijnlijk zou het checken van je HTTP requests/responses wel meer inzicht kunnen bieden in wat er precies gebeurd :)

[ Voor 13% gewijzigd door crisp op 23-01-2007 23:43 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Het is de SESSION value die niet klopt, de POST is altijd goed.
PHP versie is 4.4.4
Ik registreer de sessie vars door gewoon $_SESSION['strChallenge'] = sha256_functie(microtime());
register_globals staat uit
geen code specifiek voor user agents

Het submit verhaal vond ik erg interessant. Ik heb een onsubmit handler en die returned true. Dan submit mn formulier. Ik submit dus niet met javascript mn form nog eens. Helaas is dat het dus niet.

Hoe en waarmee check ik die headers het beste trouwens ?

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Cartman! schreef op woensdag 24 januari 2007 @ 00:27:
Hoe en waarmee check ik die headers het beste trouwens ?
Makkelijkst is met de LiveHTTPHeaders extension :)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Ok, heb de headers weten te onderscheppen met zowel Firebug als httpLiveHeaders:

Firefox 1.5 (niet werkend) :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Firebug:

Response Headers

Date    Thu, 25 Jan 2007 10:29:23 GMT
Server  Apache/1.3.37 (Unix) mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a
Cache-Control   private
Expires Thu, 19 Nov 1981 08:52:00 GMT
Pragma  no-cache
X-Powered-By    PHP/4.4.4
Keep-Alive  timeout=15, max=100
Connection  Keep-Alive
Content-Type    text/html; charset=UTF-8
Content-Encoding    gzip
Content-Length  1763

Request Headers

Host    www.domeinnaam.nl
User-Agent  Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
Accept  text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  300
Connection  keep-alive
Referer http://www.domeinnaam.nl/framework/admin/login/
Cookie  
__utma=86783503.1683812995.1169545468.1169545468.1169545468.1; 
__utmz=86783503.1169545468.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); 
webmailrelogin=no; 
PHPSESSID=25e50580a11b19bc37a9af3dc8207100



LiveHTTPHeaders:

http://www.domeinnaam.nl/framework/admin/login/

POST /framework/admin/login/ HTTP/1.1
Host: www.domeinnaam.nl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.domeinnaam.nl/framework/admin/login/
Cookie: __utmz=86783503.1169545468.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utma=86783503.1683812995.1169545468.1169545468.1169545468.1; PHPSESSID=336474eeeba58c638eff5c7ec27c160f
Content-Type: application/x-www-form-urlencoded
Content-Length: 192
username=Cartman&password=e61ab46ac47df29a6cf60a78bf2afdec482ed6e1b3bbe5d4c5cab6232c183a0a&challenge=6699765f9d6cc3189cf4c8aa7055ebadae0745ee&salt=K%40PRuta5eca%21-%40w2S467&submit=inloggen
HTTP/1.x 200 OK
Date: Thu, 25 Jan 2007 10:40:40 GMT
Server: Apache/1.3.37 (Unix) mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a
Cache-Control: private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
X-Powered-By: PHP/4.4.4
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip
Content-Length: 1764


Firefox 2.0 (werkend)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Firebug:

Response Headers

Date    Thu, 25 Jan 2007 10:33:45 GMT
Server  Apache/1.3.37 (Unix) mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a
Cache-Control   private
Expires Thu, 19 Nov 1981 08:52:00 GMT
Pragma  no-cache
X-Powered-By    PHP/4.4.4
Keep-Alive  timeout=15, max=98
Connection  Keep-Alive
Transfer-Encoding   chunked
Content-Type    text/html; charset=UTF-8

Request Headers

Host    www.domeinnaam.nl
User-Agent  Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
Accept  text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  300
Connection  keep-alive
Referer http://www.domeinnaam.nl/framework/admin/login/
Cookie

__utma=86783503.33182856.1169547283.1169547283.1169547283.1; 
__utmz=86783503.1169547283.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); 
PHPSESSID=73c3c733df80beb030bad136ef62f369



LiveHTTPHeaders:

http://www.domeinnaam.nl/framework/admin/login/

POST /framework/admin/login/ HTTP/1.1
Host: www.domeinnaam.nl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.domeinnaam.nl/framework/admin/login/
Cookie: __utma=86783503.33182856.1169547283.1169547283.1169547283.1; __utmz=86783503.1169547283.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); PHPSESSID=73c3c733df80beb030bad136ef62f369
Content-Type: application/x-www-form-urlencoded
Content-Length: 192
username=Cartman&password=597fa30c5b053f597269d8688fae1a804489fadca18d7a67a20c301a32aca423&challenge=29acf0eed664592797377407886e8706ce99c6e2&salt=K%40PRuta5eca%21-%40w2S467&submit=inloggen
HTTP/1.x 302 OK
Date: Thu, 25 Jan 2007 10:36:58 GMT
Server: Apache/1.3.37 (Unix) mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a
Cache-Control: private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
X-Powered-By: PHP/4.4.4
Set-Cookie: _FV_CMS=9ebf1da36933fca4efd24eef3b87e9798eba4e4451c9e7b0a80091dbb0e5c0b4; path=/
Location: http://www.domeinnaam.nl/framework/admin/
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8


Kan iemand er iets aant ontdekken? Ik snap er namelijk niks van...


Update:
de bug lijkt zich ook voor te doen op Safari en Firefox 1.5 op de Mac.

Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Zie het PHPSESSID cookie bij de firefox 1.5 headers. Die zijn verschillend.
Dat is de oorzaak van je probleem.

[ Voor 4% gewijzigd door stekkel op 25-01-2007 18:35 ]


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

Cartman!, post eens zowel de liveheaders van de post, als de loginpagina die je los aanvraagt. Dus in andere woorden: ga eens naar login.php, grab daar de headers van, log in (niet eerst de browser afsluiten oid), en grab ook die headers. Zet ze vervolgens beide op GoT

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
stekkel schreef op donderdag 25 januari 2007 @ 18:34:
Zie het PHPSESSID cookie bij de firefox 1.5 headers. Die zijn verschillend.
Dat is de oorzaak van je probleem.
die captures zijn van verschillende momenten dus dat klopt wel. Eerder zei ik ook dat het session id gewoon gelijk blijft dus dat is t niet.

Acties:
  • 0 Henk 'm!

  • AndriesLouw
  • Registratie: December 2005
  • Laatst online: 19-09 02:45
Omdat ik zelf ook vaak problemen had met FF en sessies, heb ik het volgende stukje PHP gescript, vraag me niet waarom, maar het zou moeten werken:

PHP:
1
2
3
4
5
6
<?php
if(!session_start()){
    session_destroy();
    session_start();
}
?>


edit:

Iets zegt mij, dat jouw probleem ergens anders ligt, want dit is alleen anti-sessionsaver.

[ Voor 18% gewijzigd door AndriesLouw op 25-01-2007 19:10 ]

Specificaties | AndriesLouw.nl


Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
Sla op het moment dat de $_SESSION['salt']-waarde wijzigt anders eens een var_dump van de $_SERVER en een tijd op in een aparte file. (append).

Misschien zie je dan op welk moment de salt wijzigt.

En anders bij elke eerste pagehit die een gebruiker doet (als er dus nog geen session is) de salt zetten, moet lijkt me ook geen probleem zijn. Ben alleen dan nog wel nieuwsgierig naar waardoor dit zich voordoet.

Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
kan het niet zijn dat de sessie-cookie niet goed wordt opgeslagen? Maak eens een ander profiel in firefox (firefox.exe -profilemanager oid) en check de lijst met cookies bij de instellingen :)

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Jullie reacties hebben er echt niks mee te maken, no offence natuurlijk want ik ben blij met alle hulp maar t lijkt alsof niet al mn berichten goed gelezen worden :)

Shadowman, het gaat niet om de salt maar om de challenge die juist uniek is per refresh en daarom moet ie de session in. Het moment dat ie wijzigt is me nog niet duidelijk want als ik debug (mbv. echo) dan werkt het _wel_. Als ik het kopieer in een andere variabele dan is ook die variabele zn waarde kwijt als ik hem nodig heb, alleen in FF1.5 dus.
En MisterData, het komt voor op alle versies FF1.5 (ook portable, verschillende pc's ed) dus nee, dat kan het echt niet zijn want daar waren we al eerder achter gekomen.

Acties:
  • 0 Henk 'm!

Verwijderd

je zegt dat je login.php include vanaf de index.php pagina. ik neem aan dat je in login.php dan dus de sessie bewerkt. zou het niet kunnen dat het login.php een andere sessie loopt te editten, en omdat er nog niks verstuurd is ligt de uiteindelijke sessie dus niet vast. zodra je iets verstuurt ligt de sessie wel vast.

is het je al gelukt om de bug ook in een simplere versie te reproduceren? kun je die code hier posten.
verder over welke versie van firefox 1.5 spreken we eigenlijk. de zijn nogal wat versies.

en post inderdaad de HTTP headers van deze simplere versie hier.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
In een simpele versie kan ik het niet reproduceren. Ik draai een custom framework wat ik met een collega ontwikkeld heb, volledig OOP dus ik kan dat niet ff makkelijk posten das t probleem. Dat het aan het framework ligt was me al duidelijk maar het is te vaag dat het slechts op FF1.5 is (versie 1.5.0.2 & 1.5.0.9 iig.).

Zal vanmiddag nog even proberen die headers voor elkaar te fietsen.

Acties:
  • 0 Henk 'm!

Verwijderd

tja als de code in dat framework inderdaad al zo groot is dat je het hier niet kunt posten, dan kan het dus overal aan liggen. de hoeft maar net een regeltje de headers zodanig aan te passen dat FF1.5 er geen soep meer van maakt maar FF2 en IE6 nog wel.

wat ik dus wou zeggen is dat todat je iets verstuurt, de headers NIET vast liggen en je iegenlijk de hele headers weer kunt weg gooien een een nieuwe set gebruiken. als er dan ook maar 1byte output verstuur wordt liggen de headers vast. dat is waarschijnlijk ook waarom het wel werkt als je iets output.

je zult dus de code van dat framework moeten doorpluizen om te zien of er ergens iets met die headers gebeurt. mischien kun je die delen/snippets weer hier posten?

Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 20-09 02:48
probeer eens session_write_close() voordat je de gebruiker doorstuurt naar een andere pagina.

dus bijv:
PHP:
1
2
3
4
5
$_SESSION['test'] = "test";


session_write_close();
header("location: index.php");
Pagina: 1