Boost modul használatakor fura viselkedés

edgarpe képe

Furcsa problémába ütköztem. Boost modul használata esetén az anonim felhasználóknál szoktak gondok lenni, nálam meg pont a bejelentkezett usereket zavarja meg.

A settings.php-ben a cookie.session_lifetime = 0, azaz az ablak bezárásakor törlődik a süti, a belépett felhasználó amikor újra megnézi a siteot már nincs bejelentkezve. Ez így jó, ezt szeretném.

Viszont ha a boost modul be van kapcsolva, akkor a böngésző a saját gyorstárában elmenti mondjuk a főoldalt, méghozzá egy olyan formába, hogy be van jelentkezve a felhasználó. Böngésző bezárás, megnyitás, és újra látogatás esetén a főoldal úgy fog megjelenni, hogy be van jelentkezve. Pedig nem is, egy-két kattintás után kiderül, hogy mégsincs belépve.

A hibát az okozza, hogy amikor visszatér anonim módon a böngésző küld egy kérést a szervernek, amire egy 304 Not Modified válasz jön. Ez a boost miatt van, egy anonim kérésre adja ezt a választ. A szerencsétlen böngésző meg azt mondja, hogy juhhé, ez nekem már megvan cache-ben és megmutatja a belépett felhasználós verziót.

Kérdem én, mi a fenét csináljak?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
edgarpe képe

Ha esetleg erre téved egy segíteni szándékozó, de a boost modult nem próbálta még, annak röviden a működése:

Leegyszerűsítve annyi történik, a php által generált tartalmat egy cache könyvtárban sima html text fájlokként elmenti és egy-két ügyes .htaccess szabállyal eléri, hogy ha anonim felhasználó kéri az oldalt, akkor meg sem hívja a php/drupal/sql stacket, hanem a plain html fájlt szolgálja ki. Ezzel nagyban tehermentesítve a szervert.

A fenti problémát meg pont az okozza, hogy anonim felhasználó lekéri a főoldalt, amire a boost (.htacces) 304 Not modified választ ad, a böngésző meg megjeleníti a nála cache-elt tartalmat, ami meg még a bejelentkezett állapotot tükrözi.

0
0
Illyés Edit képe

edgarpe képe

Huhh, jó hosszú issue, és pont arról szól ami bajom nekem is van.

Annyit már nekem is sikerült kideríteni hogy a gondot az okozza, hogy a drupal
Cache-Control: store, no-cache, must-revalidate
fejlécet küld. Gondolom abban az issueban jól kitárgyalják, majd úgy döntenek hogy ez így jó. El fogom olvasni hogy mi az indok, mert addig már én is eljutottam hogy ha no-store, no-cache fejlécet küldök, akkor megszűnik a probléma.

0
0
Anonymous képe

etagot konfolj apacsban
FileETag All

vagy ellenorizd a cookit mikor ujra megnezi az oldalt
csy

0
0
edgarpe képe

Az etag nem segít. A statikus fájlok tényleg etag-al vannak kiküldve, mégis 304 not modified válasz érkezik a kérésekre.

0
0