Post by abinformatica » Fri Jan 14, 2022 2:55 am

Good evening,
I have version 3.0.2.0 and for some months to access I have to go to phpmyadmin and empty the oc_session table before accessing otherwise if I try to login, it makes me a redirect to the same login page without errors.

Now I have some time and would like to fix this bug.
I tried different solutions such as:

Code: Select all

#this won't work
#setcookie($config->get('session_name'), $session->getId(), ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'));

#this works
setcookie($config->get('session_name'), $session->getId(), time() + 60 * 60 * 24 * 30, ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
Added this line in the php.ini file

Code: Select all

session.cookie_lifetime = 360000

What happens is:
- I empty the table
-I log in and access the dashboard
- contents of the table after login

Code: Select all

          session_id                                data                                      expire
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:51
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:51
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
- Exit
- Refresh oc_session table and I can see it:

Code: Select all

          session_id                                data                                      expire
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:51
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:51
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 19:03:03
914b9751c0a46d04a2d171bd51    []                                                      2022-01-13 19:03:40
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 19:03:40
- Login
- Redirect on same page Login
- Table content:

Code: Select all

          session_id                                data                                      expire
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:51
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:51
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 19:03:03
914b9751c0a46d04a2d171bd51    []                                                      2022-01-13 19:03:40
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 19:03:40
3f629a07c244a5a3963ac61f4c    {"language":"it-it","currency":"EUR","jrv":["846"]...   2022-01-13 19:40:23
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"x8VV7JV7qpYTDX58gbB7z...   2022-01-13 19:05:46
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 19:05:46
- Login again
- Table content:

Code: Select all

          session_id                                data                                      expire
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:51
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:51
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 18:57:52
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 19:03:03
914b9751c0a46d04a2d171bd51    []                                                      2022-01-13 19:03:40
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 19:03:40
3f629a07c244a5a3963ac61f4c    {"language":"it-it","currency":"EUR","jrv":["846"]...   2022-01-13 19:40:23
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"x8VV7JV7qpYTDX58gbB7z...   2022-01-13 19:05:46
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 19:05:46
3918fb7f6afbf13ecc95b318d2    {"language":"it-it","currency":"EUR","jrv":["477"]...   2022-01-13 19:42:19
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"u2MAiOpQ7Jnbp6RoT2Xgc...   2022-01-13 19:08:11
914b9751c0a46d04a2d171bd51    {"user_id":"1","user_token":"IAgNigIrC4mv97fyoKd66...   2022-01-13 19:08:11
6eee7353818de5465aed286a7f    {"language":"it-it","currency":"EUR"}                   2022-01-13 19:44:16

And so on....
Every time I log in, 3 lines are added.

What do you think could be the problem?
And how could I fix this once and for all?

Thank you

Newbie

Posts

Joined
Fri Jan 14, 2022 12:02 am

Post by ADD Creative » Fri Jan 14, 2022 8:06 pm

The issue of session.cookie_lifetime causing problems with a value other than 0 is know. But hasn't been fixed in the 3.x branch.
https://github.com/opencart/opencart/issues/8141

session_id should not be duplicating like you are seeing. The REPLACE INTO query should overwrite the previous entry.
https://github.com/opencart/opencart/bl ... db.php#L32

Check that session_id is the PRIMARY key for your session table.

www.add-creative.co.uk


Expert Member

Posts

Joined
Sat Jan 14, 2012 1:02 am
Location - United Kingdom
Who is online

Users browsing this forum: No registered users and 142 guests