View Issue Details

IDProjectCategoryView StatusLast Update
0001686OXID eShop (all versions)4.08. Cachepublic2012-12-10 13:39
Reportermarco_steinhaeuser Assigned To 
PriorityhighSeveritymajorReproducibilitysometimes
Status resolvedResolutionfixed 
Product Version4.2.0 revision 23610 
Fixed in Version4.3.0 revision 26948 
Summary0001686: AOL proxy caches the cookies
Descriptionwe have got three threads in the forum that tell about problems with the AOL proxy:

http://www.oxid-esales.com/forum/showthread.php?t=4457
http://www.oxid-esales.com/forum/showthread.php?t=4154
http://www.oxid-esales.com/forum/showthread.php?t=4516

Private data from other users are displayed if a new user registers or logs in.

Cookie handling is concerned. Please solve ASAP and show up a simple solution (e.g. HTML header - Cache-Control: no-cache) if possible.


TagsNo tags attached.
Theme
BrowserAll
PHP Versionany
Database Versionany

Relationships

related to 0001735 resolvedtomas_liubinas User ends up in a foreign account 

Activities

marco_steinhaeuser

2010-03-08 14:28

reporter   ~0002385

And a quick solution was proposed here:
http://www.oxid-esales.com/forum/showthread.php?p=26671#post26683

tomas_liubinas

2010-03-10 10:39

reporter   ~0002404

Last edited: 2010-03-10 10:40

Forum users have already noted, that this problem could be solved by "Cache-control:" HTTP response header. By default php session handler solves this problem automatically. It does not send this header when session is not started (correct), and sends "Cache-control: no-store, no-cache..." headers when session is started. This behavior depends on session.cache_limiter php.ini setting and there are 2 ways to solve this problem:

1. Set "session.cache_limiter = nocache" in your php.ini file
OR
2. This is what we did. Enforce session cache limiter in eShop by adding the following line:

session_cache_limiter("nocache");

We added it to oxSession class, but it could be added anywhere BEFORE session_start() is called (for example to config.inc.php file).

marco_steinhaeuser

2010-03-10 15:27

reporter   ~0002407

The problem seems not to be completely fixed yet. Please see http://ilia.ws/archives/59-AOL-Browser-Woes.html for more information.

tomas_liubinas

2010-03-10 19:37

reporter   ~0002408

Here is the extended solution:

//enforcing no caching when session is started
session_cache_limiter( 'nocache' );

//cache limiter workaround for AOL browsers
//as suggested at http://ilia.ws/archives/59-AOL-Browser-Woes.html
if (strpos($_SERVER['HTTP_USER_AGENT'], 'AOL') !== false ) {
     session_cache_limiter(false);
     header("Cache-Control: no-store, private, must-revalidate, proxy-revalidate, post-check=0, pre-check=0, max-age=0, s-maxage=0");
}

leofonic

2010-03-10 20:14

reporter   ~0002409

I want to add that i feel this is not only a caching issue. To me it does not seem right to store credit card data in the session and output it unmasked to the users browser in case the payment page is reloaded. If the data was not outputted to the browser proxies could not cache it.

Stefan_Werner

2010-03-23 08:25

reporter   ~0002420

Hi,

a customer included that fix and this never happens again since 12.03.2010
before that it happens about 2 times a day

ralf_trapp

2010-05-11 08:51

reporter   ~0002731

As this is related only to AOL and some other providers and appeared suddenly after 4.2.0 was out, OXID was able to workround this with 4.3.0.