Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: "sivu on vanhentunut" (session)

pistemies [11.01.2008 18:33:08]

#

Onko mitään mahdollisuutta saada vois selaimen tekemää sivua "Sivu on vanhentunut" Sessionia käytettäessä?

Muokkaus:

[session.cache_limiter] => Array
        (
            [global_value] => nocache
            [local_value] => nocache
            [access] => 7
        )

Voisiko hommaa muuttaa esim. muuttamalla tätä cache asetusta? Jos sen muuttaa, tulisiko siihen kirjoittaa pelkkä "cache" vai jotain muuta?

Muokkaus 2.

No vielähän tässä ehdin yksin jutteleen...
Muutin htaccess tiedostossa tuon cache_limiterin arvoksi "cache". Nyt sivu toimii niinkuin haluankin.
Tulee vaan toinen kysymys. Kun Session-aika loppuu, jatkaako session sitten toimimista cachesta käsin?

pistemies [11.01.2008 20:53:41]

#

Ei taida olla tästä kovin monella kokemusta?

Mutta ajattelin tehdä näin: ohjelma tallentaa jo ennestään kävijän kirjautumisajan tietokantaan. Siitä voi laskea, milloin istunto on määrä loppua. Olen pitentänyt htaccess-tiedostossa sessionin kestoksi 1 tunti.

kasetti [12.01.2008 00:11:25]

#

Yksi vaihtoehto on tehdä sessio sivun päivitykselle. Aina kun sivua ladataan niin verrataan onko sessioon tallennetun ajan ja nykyisen hetken väli yli sallitun ajan. Jos on niin sivu on vanhentunut. Jos ei niin ok ja päivitetään aikasession arvoa nykyhetkellä.

Wizard [14.01.2008 10:21:43]

#

Pekka Mansikka kirjoitti:

Tulee vaan toinen kysymys. Kun Session-aika loppuu, jatkaako session sitten toimimista cachesta käsin?

Oletettavasti kyseessä PHP?

PHP:n normaalitilanteissa (jos ei ole rajusti muokattu php.ini tiedostoa sessioiden kohdalla + käännetty eri tavalla kuin "normaalisti" tai käytössä esim. Zend Platform) sessionia ei pitäisi pystyä käyttämään enää uudelleen kun aika on tullut täyteen. Normitilanteessa kun aikaraja tulee täyteen, palvelimen pitäisi tuhota palvelinpään session tiedostot (*nix varianteissa yleensä /tmp hakemistossa plain text tiedostoina).

Näin ollen vaikka käyttäjä tulisikin vanhalla sessionID tunnarille sivulle, palvelin alustaisi uudet session tiedostot.

Näin kokemuksesta voin sanoa, että tuo sessioiden hallinta on oikeasti yksi vaikeimmista asioista klustereissa ja ympäristöissä joissa niihin sidotaan dataa. Jos etsii parempaa ratkaisua, niin Zend Frameworkissa on Registry niminen mokkula josta voi sitten siirrellä ZF:n omaan Session mokkulaan tietoa sekä käyttää namespaceja.

Tutustukaapa projektiin osoitteessa: http://framework.zend.com/home

-W-

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta