PHP munkamenet & PHP sütik példával

Tartalomjegyzék:

Anonim

Mi a Cookie?

A cookie egy kicsi fájl, amelynek maximális mérete 4KB, amelyet a webszerver az ügyfélszámítógépen tárol.

A cookie beállítása után az összes ezt követő oldalkérés visszaadja a cookie nevét és értékét.

A süti csak abból a domainből olvasható el, ahonnan kiadták. Például a www.guru99.com tartományt használó cookie-készlet nem olvasható ki a karjer.guru99.com tartományból.

Az interneten található webhelyek többsége más domainek elemeit jeleníti meg, például a hirdetést. Az ezeket az elemeket kiszolgáló domainek saját sütiket is beállíthatnak. Ezeket harmadik fél sütiként ismerjük.

A felhasználó által létrehozott cookie-k csak számára láthatók. Más felhasználók nem láthatják az értékét.

A legtöbb webböngészőben lehetőség van a cookie-k, a harmadik féltől származó sütik vagy mindkettő letiltására.

Ebben az esetben a PHP úgy válaszol, hogy továbbítja a cookie tokent az URL-ben.

Az alábbi ábra szemlélteti a sütik működését.

Itt,

1) A felhasználó egy olyan oldalt kér, amely sütiket tárol

2) A szerver beállítja a cookie-t a felhasználó számítógépén

3) A felhasználó egyéb oldalkérései visszaadják a cookie nevét és értékét

Ebben az oktatóanyagban megtanulja-

  • Miért és mikor kell használni a sütiket?
  • Cookie-k készítése
  • A Cookie érték lekérése
  • Törölje a sütiket
  • Mi az a munkamenet?
  • Miért és mikor érdemes használni a Session-eket?
  • Munkamenet létrehozása
  • Munkamenet-változók megsemmisítése

Miért és mikor kell használni a sütiket?

  • A Http hontalan protokoll; A cookie-k lehetővé teszik számunkra, hogy a felhasználó számítógépén tárolt kis fájlok segítségével nyomon kövessük az alkalmazás állapotát.

    A cookie-k tárolási útvonala a böngészőtől függ.

    Az Internet Explorer általában az Temporal Internet Files mappában tárolja őket.

  • A felhasználói élmény személyre szabása - ez úgy érhető el, hogy lehetővé teszi a felhasználók számára, hogy kiválasszák preferenciáikat.

    A követni kívánt oldal személyre szabott, a sütikben megadott beállítások alapján.

  • A felhasználó által meglátogatott oldalak követése

Cookie-k készítése

Most nézzük meg a cookie készítéséhez használt alapvető szintaxist.

ITT,

  • A php „setcookie” a sütik létrehozásához használt PHP funkció.
  • A „cookie_name” annak a cookie-nak a neve, amelyet a szerver használni fog, amikor lekéri az értékét a $ _COOKIE tömb változóból. Ez kötelező.
  • A „cookie_value” a cookie értéke és kötelező
  • A „[lejárati idő]” opcionális; használható a süti lejárati idejének, például 1 órának a beállítására. Az idő beállítása a PHP time () funkciók segítségével plusz vagy mínusz 0 másodpercnél nagyobb másodpercek száma, azaz idő () + 3600 1 órán keresztül.
  • A „[cookie_path]” opcionális; használható a kiszolgáló cookie elérési útjának beállítására. Az előrejelzett perjel „/” azt jelenti, hogy a süti elérhetővé válik a teljes tartományban. Az alkönyvtárak korlátozzák a cookie-k hozzáférését az aldomainhez.
  • A „[domain]” opcionális, használható a cookie-hozzáférési hierarchia meghatározására, azaz a www.cookiedomain.com teljes tartományt jelent, míg a www.sub.cookiedomain.com a cookie-k hozzáférését a www.sub.cookiedomain.com oldalra és annak alcsoportjára korlátozza. domainek. Vegye figyelembe, hogy lehetséges egy aldomain aldomainje, amennyiben az összes karakter nem haladja meg a 253 karaktert.
  • A „[biztonságos]” opcionális, az alapértelmezett érték hamis. Arra használják, hogy a cookie-t https-en keresztül küldjék-e, ha igazra van állítva, vagy http-re, ha hamisra van állítva.
  • A „[Httponly]” opcionális. Ha igazra van állítva, akkor csak az ügyféloldali szkriptnyelvek, azaz a JavaScript nem férhet hozzá.

Megjegyzés: A php set cookie függvényt a HTML nyitó címke előtt kell végrehajtani.

Most nézzünk meg egy példát, amely sütiket használ.

Létrehozunk egy alapprogramot, amely lehetővé teszi számunkra, hogy a felhasználói nevet egy tíz másodperc múlva lejáró cookie-ban tároljuk.

Az alábbi kód a fenti „cookies.php” példa megvalósítását mutatja.

Kimenet:

the cookie has been set for 60 seconds

A Cookie érték lekérése

Hozzon létre egy másik „cookies_read.php” nevű fájlt a következő kóddal.

Kimenet:

Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )

Megjegyzés: A $ _COOKIE egy szuper globális változóba épített PHP.

Ez tartalmazza az összes beállított sütik nevét és értékét.

Az értékek száma, amelyek

A $ _COOKIE tömb tartalmazhat a php.ini fájlban beállított memória méretét.

Az alapértelmezett érték 1 GB.

Alkalmazásunk tesztelése.

Tegyük fel, hogy a PHP fájlokat a phptus mappába mentette.

  • 1. lépés - nyissa meg a böngészőt, és írja be az URL címet : http: //localhost/phptuts/cookies_read.php

Megjegyzés: Csak egy üres tömb jelenik meg

  • 2. lépés - Böngésző a következő URL-re : http: //localhost/phptuts/cookies.php

  • 3. lépés - Váltson vissza az első fülre, majd kattintson a Frissítés gombra

Várjon egy percet, majd kattintson ismét a Frissítés gombra. Milyen eredményeket ért el?

Törölje a sütiket

  • Ha meg akarja semmisíteni a cookie-kat annak lejárati ideje előtt, akkor a lejárati időt egy már letelt időre állítja.
  • Hozzon létre egy új, cookie_destroy.php nevű fájlt a következő kóddal
  • Ismételje meg a fenti szakasz 1-3. Lépését a cookie-értékek lekérésével kapcsolatban.
  • Nyissa meg az URL címet : http: //localhost/phptuts/cookie_destroy.php
  • Váltás az URL-re : http: //localhost/phptuts/cookies_read.php milyen eredményeket jelenít meg?

Mi az a munkamenet?

  • A munkamenet a szerveren tárolt globális változó.
  • Minden munkamenethez egyedi azonosítót rendelünk, amelyet a tárolt értékek lekérésére használunk.
  • Munkamenet létrehozásakor az egyedi munkamenet-azonosítót tartalmazó süti a felhasználó számítógépén tárolódik, és minden kéréssel visszakerül a szerverhez. Ha az ügyfélböngésző nem támogatja a cookie-kat, akkor az egyedi php session azonosító megjelenik az URL-ben
  • A munkamenetek képesek viszonylag nagy adatok tárolására a sütikhez képest.
  • A munkamenet értékei automatikusan törlődnek, amikor a böngésző bezárul. Ha véglegesen szeretné tárolni az értékeket, akkor tárolja azokat az adatbázisban.
  • Csakúgy, mint a $ _COOKIE tömb változó, a munkamenet változókat is a $ _SESSION tömb változó tárolja. A sütikhez hasonlóan a munkamenetet minden HTML-címke előtt el kell kezdeni.

Miért és mikor érdemes használni a Session-eket?

  • Fontos információkat, például a felhasználói azonosítót szeretne biztonságabban tárolni a szerveren, ahol a rosszindulatú felhasználók nem tudnak temperálni velük.
  • Értékeket szeretne átadni egyik oldalról a másikra.
  • A cookie-kat nem támogató böngészőkön kívánja használni a sütik alternatíváját.
  • A globális változókat hatékonyan és biztonságosabb módon szeretné tárolni, összehasonlítva az URL-ben történő továbbítással
  • Olyan alkalmazást fejleszt, mint egy bevásárlókocsi, amelynek ideiglenesen 4KB-nál nagyobb kapacitású információkat kell tárolnia.

Munkamenet létrehozása

Munkamenet létrehozásához először meg kell hívnia a PHP session_start függvényt, majd el kell mentenie értékeit a $ _SESSION tömb változóba.

Tegyük fel, hogy szeretnénk tudni, hányszor töltöttek be egy oldalt, ehhez használhatunk munkamenetet is.

Az alábbi kód megmutatja, hogyan lehet értékeket létrehozni és lekérni a munkamenetekből

Kimenet:

You are visitor number 1

Munkamenet-változók megsemmisítése

A session_destroy () függvény a teljes Php szekcióváltozó megsemmisítésére szolgál.

Ha csak egy munkamenet egyetlen elemét akarja megsemmisíteni, akkor használja az unset () függvényt.

Az alábbi kód szemlélteti a két módszer használatát.

A Session_destroy eltávolítja az összes munkamenetadatot, beleértve a munkamenethez társított sütiket is.

Az Unset csak az egyes munkamenet-változókat szabadítja fel.

Egyéb adatok sértetlenek maradnak.

Összegzés

  • A sütik a felhasználó számítógépére mentett kis fájlok
  • A sütik csak a kibocsátó domainről olvashatók el
  • A sütiknek lehet lejárati ideje, ha nincs beállítva, akkor a cookie a böngésző bezárásakor lejár
  • A munkamenetek olyanok, mint a szerveren tárolt globális változók
  • Minden munkamenet egyedi azonosítót kap, amelyet a felhasználók változóinak követésére használnak.
  • Mind a cookie-kat, mind a munkameneteket el kell indítani, mielőtt bármilyen HTML-címkét elküldenének a böngészőbe.