reklámok

ebben a bemutatóban megtudhatja, hogyan tárolhat bizonyos adatokat a kiszolgálón ideiglenesen a PHP munkamenet segítségével.

mi a munkamenet

bár az adatokat cookie-k segítségével tárolhatja, de van néhány biztonsági problémája. Mivel a cookie-kat a felhasználó számítógépén tárolják, a támadó könnyen módosíthatja a cookie-tartalmat, hogy potenciálisan káros adatokat helyezzen be az alkalmazásba, amelyek megszakíthatják az alkalmazást.,

minden alkalommal, amikor a böngésző URL-t kér a kiszolgálóhoz, a weboldal összes cookie-adatát automatikusan elküldi a kiszolgálónak a kérésen belül. Ez azt jelenti, hogy ha 5 cookie-t tárolt a felhasználó rendszerén, amelyek mindegyike 4KB méretű, a böngészőnek 20KB adatot kell feltöltenie minden alkalommal, amikor a felhasználó megtekinti az oldalt, ami befolyásolhatja webhelyének teljesítményét.

mindkét problémát megoldhatja a PHP munkamenet használatával. A PHP munkamenet adatokat tárol a szerveren, nem pedig a felhasználó számítógépén., Egy munkamenet-alapú környezetben minden Felhasználót azonosítanak egy session identifier vagy SID nevű egyedi számmal. Ez az egyedülálló munkamenet-azonosító arra szolgál, hogy minden Felhasználót összekapcsoljon a szerver saját információival, például e-mailekkel, hozzászólásokkal stb.

tipp: a munkamenet-azonosítókat véletlenszerűen generálja a PHP motor, amelyet szinte lehetetlen kitalálni. Továbbá, mivel a munkamenet adatait a szerveren tárolják, nem kell minden böngésző kéréssel elküldeni.,

PHP munkamenet indítása

mielőtt bármilyen információt tárolna a munkamenet változókban, először el kell indítania a munkamenetet. Egy új munkamenet megkezdéséhez egyszerűen hívja a PHP session_start() függvényt. Létrehoz egy új munkamenetet, majd létrehoz egy egyedi munkamenet-azonosítót a felhasználó számára.

az alábbi példában szereplő PHP kód egyszerűen elindít egy új munkamenetet.,

példa

letöltés

<?php// Starting sessionsession_start();?>

a session_start() függvény először ellenőrzi, hogy létezik-e munkamenet, ha egy munkamenet azonosítóját keresi. Ha talál egyet, azaz ha a munkamenet már elindult, beállítja a munkamenet változókat, ha pedig nem, akkor új munkamenet-azonosítót hoz létre.

Megjegyzés: Az oldal elején a session_start() függvényt kell hívni., mielőtt bármilyen kimenet által generált script a böngészőben, ugyanúgy, mint te, miközben a cookie-kat a setcookie() funkció.

munkamenet adatok tárolása és elérése

az összes munkamenet adatot kulcsértékpárként tárolhatja a $_SESSION superglobal tömbben. A tárolt adatok a munkamenet időtartama alatt érhetők el. Fontolja meg a következő szkriptet, amely új munkamenetet hoz létre, és két munkamenet változót regisztrál.,

hozzáférést a session adatok beállítása az előző példában a többi oldal ugyanazon a domain — egyszerűen újra az ülést hív session_start() majd át a megfelelő gombot, hogy a $_SESSION asszociatív tömb.

a fenti példában szereplő PHP kód a következő kimenetet adja meg.

Szia, Peter Parker

Megjegyzés: ahhoz, Hogy elérje a session adatok, ugyanazon az oldalon van, nem kell, hogy újra az ülésen, mivel már elindult az oldal tetejére.,

egy munkamenet megsemmisítése

ha bizonyos munkamenetadatokat el akar távolítani, egyszerűen szüntesse meg a $_SESSION asszociatív tömb megfelelő kulcsát, amint az a következő példában látható:

egy munkamenet teljes megsemmisítéséhez egyszerűen hívja asession_destroy() függvényt. Ez a függvény nem igényel semmilyen érv, egyetlen hívás elpusztítja az összes munkamenet adatait.,

Példa

Letöltés

<?php// Starting sessionsession_start(); // Destroying sessionsession_destroy();?>

Megjegyzés: Mielőtt elpusztítják a munkamenet a session_destroy() funkció, meg kell először újra a munkamenet környezet, ha nem már ott van használata a session_start() funkció, hogy valamit, hogy elpusztítsa.

minden PHP munkamenetnek van egy timeout értéke – egy másodpercben mért időtartam -, amely meghatározza, hogy egy munkamenet mennyi ideig maradjon életben felhasználói tevékenység hiányában., Ezt az időtúllépési időtartamot a session.gc_maxlifetime változó értékének módosításával módosíthatja a PHP konfigurációs fájlban (php.ini).

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük