View Issue Details

IDProjectCategoryView StatusLast Update
0001961OXID eShop (all versions)1. ----- eShop frontend -----public2012-12-10 14:37
Reporterralf_trapp Assigned To 
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Summary0001961: ZEND session clustering fails
DescriptionZEND session clustering fails due to wrong pattern for session-id
Steps To ReproduceFrom ZEND Support:

The session clustering ZEND works only if the session ID is structured in a certain pattern:

Master - Port - Backup - Port - Version - session_id

So for example:

e6890938-e6890939-baba37bd-baba37bd-00000002-t96aqoc12el71m4m19uljfng96

Whereby the encoded and dissolved by:

92.51.185.130-34567-92.51.185.131-34567-00000002-t96aqoc12el71m4m19uljfng96

If this is not the case, the session ID does not correspond to this scheme, therefore, can not assign the session ZEND Platform and therefore can not read the session data.

This is in itself is not the problem, because if the PHP function
session_id () is used, it automatically supplies the session ID back in the right format - provided the ZEND Platform is installed, clear.

Unfortunately OXID used at one point in the code this feature, but builds the session ID from an MD5 hash of different values themselves together - why this has been so resolved, I do not know and frankly I'm surprised too, because at different other bodies session_id () function. If you ask me, but this is a bug OXID - at least if they promise that the use of ZEND Platform smoothly.

Anyway, I have now found a workaround that seems to work - the solution is actually at hand, it is the function session_id () is used instead of the ID itself cobbled together.
I also have quite a few tests - both in the admin area as carried out in the shop and the workaround seems to have no side effects.
TagsNo tags attached.
Theme
Browser
PHP Version
Database Version

Activities

arvydas_vapsva

2010-08-13 13:01

reporter   ~0003389

fixed by replacing "MD5 hash" with php functions session_regenerate_id()/session_id();