Welcome Guest, Not a member yet? Register   Sign In
Solution to session data loss when using AJAX
#14

[eluser]slowgary[/eluser]
I don't believe that to be the exact case. An AJAX call DOES update the client's cookie. The problem is this:

If your session ID is old enough to need regeneration and you issue 2 requests at the same time, the first request hits the server and causes the session class to regenerate the id. The problem is that the second request has already left the client with an invalid session ID before the first request is able to bring the new session ID back to the browser. The second request then becomes the culprit - causing your session to be destroyed.

In essence, it's a race condition. You can't really solve the problem by removing the call to sess_update() on AJAX calls, since the same scenario can happen without AJAX. For instance, if you protect your assets by serving them through a controller, your pages will be making many concurrent requests to the session class and you'll likely see this problem often.


Messages In This Thread
Solution to session data loss when using AJAX - by El Forum - 12-17-2009, 06:15 AM
Solution to session data loss when using AJAX - by El Forum - 12-17-2009, 06:48 AM
Solution to session data loss when using AJAX - by El Forum - 12-17-2009, 07:12 AM
Solution to session data loss when using AJAX - by El Forum - 03-13-2010, 04:17 PM
Solution to session data loss when using AJAX - by El Forum - 05-10-2010, 06:33 AM
Solution to session data loss when using AJAX - by El Forum - 07-27-2010, 12:49 AM
Solution to session data loss when using AJAX - by El Forum - 10-11-2010, 03:31 PM
Solution to session data loss when using AJAX - by El Forum - 10-11-2010, 04:49 PM
Solution to session data loss when using AJAX - by El Forum - 10-11-2010, 05:29 PM
Solution to session data loss when using AJAX - by El Forum - 10-11-2010, 06:47 PM
Solution to session data loss when using AJAX - by El Forum - 10-12-2010, 12:33 AM
Solution to session data loss when using AJAX - by El Forum - 10-12-2010, 06:29 AM
Solution to session data loss when using AJAX - by El Forum - 10-12-2010, 07:52 AM
Solution to session data loss when using AJAX - by El Forum - 10-12-2010, 08:06 AM
Solution to session data loss when using AJAX - by El Forum - 10-12-2010, 08:13 AM
Solution to session data loss when using AJAX - by El Forum - 10-12-2010, 09:03 AM
Solution to session data loss when using AJAX - by El Forum - 10-12-2010, 10:01 AM
Solution to session data loss when using AJAX - by El Forum - 10-13-2010, 03:01 AM
Solution to session data loss when using AJAX - by El Forum - 10-13-2010, 03:18 AM
Solution to session data loss when using AJAX - by El Forum - 01-20-2011, 06:58 AM
Solution to session data loss when using AJAX - by El Forum - 05-18-2011, 05:00 PM
Solution to session data loss when using AJAX - by El Forum - 05-25-2011, 12:21 PM
Solution to session data loss when using AJAX - by El Forum - 05-25-2011, 03:33 PM
Solution to session data loss when using AJAX - by El Forum - 05-25-2011, 03:54 PM
Solution to session data loss when using AJAX - by El Forum - 05-25-2011, 07:33 PM
Solution to session data loss when using AJAX - by El Forum - 05-26-2011, 08:43 AM
Solution to session data loss when using AJAX - by El Forum - 07-11-2011, 06:10 AM
Solution to session data loss when using AJAX - by El Forum - 07-11-2011, 07:43 AM
Solution to session data loss when using AJAX - by El Forum - 07-11-2011, 08:56 AM
Solution to session data loss when using AJAX - by El Forum - 07-11-2011, 01:21 PM
Solution to session data loss when using AJAX - by El Forum - 08-20-2012, 12:05 PM
Solution to session data loss when using AJAX - by El Forum - 08-23-2012, 08:50 AM
Solution to session data loss when using AJAX - by El Forum - 08-23-2012, 10:20 AM
Solution to session data loss when using AJAX - by El Forum - 08-23-2012, 01:00 PM
Solution to session data loss when using AJAX - by El Forum - 08-23-2012, 01:04 PM



Theme © iAndrew 2016 - Forum software by © MyBB