Sessie stopt zomaar

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 12:45
Hallo allemaal,

Wederom een raadsel voor en van mij, erg raar gebeuren met sessies:

Ik heb een website waarbij je kunt inloggen. Hiervoor gebruik ik sessies. Nu gaat er in verschillende browsers wat mis, maar niet in elke browser. Heeft puur met die sessies te maken lijkt mij:

In Firefox 3.0.11 (+ WinXP) op mijn computer gaat het goed, ik kan inloggen op favorieten klikken die ik heb opgeslagen. Ik blijf gewoon ingelogd.

Mijn collega kijkt op zijn computer, zelfde FF en windows Vista logged in op zijn eigen naam / account (dus 't is geen probleem met dubbele accounts) klikt op een link en de sessie is er niet meer.

Hetzelfde gebeurt bij mij in IE en Opera, maar FF blijft het gewoon wel doen zoals de bedoeling is.


De website werkt met mod_rewrite waarbij alles via index.php loopt. Dit bestand heeft als eerste regel staan: session_start(); (geen spatie of wat voor output ook)

Ik snap echt niet hoe het kan dat het op mijn FF gewoon werkt en de sessie blijft doorlopen. Ik kan gewoon klikken op alle pagina's binnen de website en blijf ingelogd. In andere browsers/ andere computers gooit die hem er meteen weer uit. Iemand enig idee waar dit aan kan liggen?

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 13:47

MueR

Admin Tweakers Discord

is niet lief

Sessions zijn server side, dus er zit eerder iets in je code dan dat er een probleem in een browser zit. Het enige 'probleem' wat de browser als oorzaak kan hebben, is het weigeren van session cookies.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

jbdeiman schreef op vrijdag 26 juni 2009 @ 13:58:
Wederom een raadsel voor en van mij
Voor mij ook. Wat versta je onder een sessie? Is dat een PHP-sessie die opnieuw wordt gestart (onwaarschijnlijk), of heb je een ander cookie dat verdwijnt? Het zal hoogstwaarschijnlijk een fout in jouw code zijn, en aangezien je die niet post kan niemand je helpen.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 12:45
Ik heb het inderdaad over een PHP sessie. Zoals ik al aangeef wordt de sessie op elke pagina geset. Dat is het vreemde ook.. Hij verliest op één of andere manier de sessie variabelen.

Het gaat om http://www.hypotheek-bv.nl (is niet bedoeld als reclame dit, maar misschien kunnen jullie melden of jullie wel dan wel niet ingelogd blijven) Inloggen kan je bovenin vinden en account gegevens is test - test. Als ik zelf inlog op dat account in mijn FF blijf ik ook ingelogd. Echter in een andere browser knikkert die me er weer uit.

Onderaan elke pagina zie je nu "Testje" staan. Deze sessie variabele wordt gemaakt, dus session start staat wel overal. Die text krijg ik ook op elke pagina te zien.

Acties:
  • 0 Henk 'm!

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 19-09 11:12
Kijk eens in je php.ini naar de cookienaam (PHPSESS**** ben de naam heel even kwijt), dan in je eigen cookies kijken of die naam er in voorkomt, indien wel hoort het goed te zijn? (Of het ligt zoals gezegd, aan je code). Zo niet weet ik het ook even niet meer.

Edit: Controleer ook of bij die documenten session_start staat, dit wordt namelijk vaak vergeten ;)

[ Voor 16% gewijzigd door Manuel op 26-06-2009 14:22 . Reden: Toevoeging ]


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

CodeCaster schreef op vrijdag 26 juni 2009 @ 14:03:
Is dat een PHP-sessie die opnieuw wordt gestart (onwaarschijnlijk), of heb je een ander cookie dat verdwijnt?
Ja, dat is een PHP sessie, aangezien de TS session_start(); noemt, wat een PHP functie is. Als je dat bedoeld tenminste. :) En waarom zou je $_COOKIE['SESSID'] niet kunnen verwijderen? Bedoel, als je die cookie middels setcookie() een datum in het verleden geeft, ben je ook dat cookie gewoon kwijt en dus niet meer ingelogt.

Acties:
  • 0 Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 12:45
@Manueltje22
Zoals ik al aangeef heb ik bovenaan de index pagina session_start(); staan, deze pagina regelt alles binnen de website. Daar komt nog eens bij dat ik ook $_SESSION['test'] instel op deze pagina en dat die ook overal gewoon zichtbaar is.
Dus de sessie loopt wel, wat ik dus niet snap is waarom die de sessie er verderop weer uitknikkerd. En dat doet die dus niet bij mij, ik kan in mijn FF gewoon inloggen als Test, of op m'n eigen account en ik kan dan overal heen surfen binnen de website en de sessie blijft bestaan.

Dat is ook het rare.

Acties:
  • 0 Henk 'm!

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 19-09 11:12
Kijk je dan eens kijken in je if() blocks (ik ga ervan uit dat je het zo controlleerd), er moet dan namelijk echt iets fout zijn in de code als ik je verhaal nu zo lees.

PS: Die session_start() wordt vaak vergeten, vandaar dat ik het zei :)

Acties:
  • 0 Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 12:45
@Manueltje
Maar hij is gewoon die hele sessie waarde kwijt.. :S Dat is het vreemde ook, bij mij in FF (en ondertussen in Opera ook) werkt het wel en blijf ik ingelogd.. :(

Er staat in mijn hele code geen "unset" gebeuren voor de sessie. Als jullie kijken, er staat nu onderaan de pagina ook een print_r van de sessie.. Ik snap het niet in elk geval.

[ Voor 34% gewijzigd door jbdeiman op 26-06-2009 14:41 ]


Acties:
  • 0 Henk 'm!

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 19-09 11:12
Kan je anders eens je code plakken, zo kunnen wij je beter van dienst zijn.
Graag de pagina inloggen hierheen zetten, daar zit hem namelijk het probleem.

Edit: Probleem is anders ook op te lossen door te debuggen :)

[ Voor 20% gewijzigd door Manuel op 26-06-2009 14:46 . Reden: Toevoegen ]


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

jbdeiman schreef op vrijdag 26 juni 2009 @ 14:37:
@Manueltje
Maar hij is gewoon die hele sessie waarde kwijt.. :S Dat is het vreemde ook, bij mij in FF (en ondertussen in Opera ook) werkt het wel en blijf ik ingelogd.. :(

Er staat in mijn hele code geen "unset" gebeuren voor de sessie. Als jullie kijken, er staat nu onderaan de pagina ook een print_r van de sessie.. Ik snap het niet in elk geval.
Gooi dat cookie eens weg in je Firefox dan, dan zul je zien dat die niet opnieuw aangemaakt wordt. Waarschijnlijk doe je iets niet goed, maar zonder code kan niemand wat zinnigs zeggen.

Staat error_reporting wel aan?
GJtje schreef op vrijdag 26 juni 2009 @ 14:13:
Ja, dat is een PHP sessie, aangezien de TS session_start(); noemt, wat een PHP functie is. Als je dat bedoeld tenminste. :) En waarom zou je $_COOKIE['SESSID'] niet kunnen verwijderen? Bedoel, als je die cookie middels setcookie() een datum in het verleden geeft, ben je ook dat cookie gewoon kwijt en dus niet meer ingelogt.
TS heeft het over een sessie en over inloggen, het is maar net wat voor definities je hanteert... Het kan net zo goed dat hij een eigen sessiesysteem met behulp van $_SESSION heeft gemaakt. Het topic is daar te onduidelijk voor.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • jbdeiman
  • Registratie: September 2008
  • Laatst online: 12:45
Heren:

Problem solved!

Het had iets met bestandscodering te maken oid. Ik heb de hele inhoud gekopieerd en in een nieuw bestand (index.php) geplakt. Deze opgeslagen en geüpload waarbij ik de oude index.php heb vervangen.

Nu werkt het wel.

Toch bedankt voor het meedenken. Ik wist al dat het niet had te maken met een fout in mijn code, omdat ik al allerlei testen met de sessie had gedaan.

[ Voor 102% gewijzigd door jbdeiman op 26-06-2009 15:16 ]

Pagina: 1