Mikä on eväste?
Eväste on pieni tiedosto, jonka enimmäiskoko on 4 kt, jonka verkkopalvelin tallentaa asiakastietokoneelle.
Kun eväste on asetettu, kaikki seuraavat sivupyynnöt palauttavat evästeen nimen ja arvon.
Eväste voidaan lukea vain verkkotunnuksesta, josta se on annettu. Esimerkiksi evästejoukkoa, joka käyttää verkkotunnusta www.guru99.com, ei voida lukea toimialueelta karjuri.guru99.com.
Suurin osa Internet-sivustoista näyttää elementtejä muista verkkotunnuksista, kuten mainonnasta. Näitä elementtejä palvelevat verkkotunnukset voivat myös asettaa omat evästeensä. Näitä kutsutaan kolmannen osapuolen evästeiksi.
Käyttäjän luoma eväste voi olla vain heidän nähtävillä. Muut käyttäjät eivät näe sen arvoa.
Useimmilla verkkoselaimilla on vaihtoehtoja evästeiden, kolmannen osapuolen evästeiden tai molempien poistamiseksi käytöstä.
Jos näin on, PHP vastaa välittämällä evästetunnuksen URL-osoitteeseen.
Alla oleva kaavio kuvaa evästeiden toimintaa.
Tässä,
1) Käyttäjä pyytää evästeitä tallentavaa sivua
2) Palvelin asettaa evästeen käyttäjän tietokoneelle
3) Muut käyttäjän sivupyynnöt palauttavat evästeen nimen ja arvon
Tässä opetusohjelmassa opit-
- Miksi ja milloin käyttää evästeitä?
- Evästeiden luominen
- Nouda evästeen arvo
- Poista evästeet
- Mikä on istunto?
- Miksi ja milloin käyttää istuntoja?
- Istunnon luominen
- Istunnon muuttujien tuhoaminen
Miksi ja milloin käyttää evästeitä?
-
Http on valtioton protokolla; evästeiden avulla voimme seurata sovelluksen tilaa käyttämällä pieniä tiedostoja, jotka on tallennettu käyttäjän tietokoneelle.
Polku, johon evästeet tallennetaan, riippuu selaimesta.
Internet Explorer tallentaa ne yleensä Temporal Internet Files -kansioon.
-
Käyttökokemuksen mukauttaminen - tämä saavutetaan antamalla käyttäjien valita mieltymyksensä.
Seuraava sivu, jota pyydetään seuraamaan, on räätälöity evästeiden asetusten perusteella.
- Seurataan sivuja, joilla käyttäjä on käynyt
Evästeiden luominen
Tarkastellaan nyt evästeen luomisessa käytettyä perussyntaksia.
TÄSSÄ,
- Php “setcookie” on PHP-toiminto, jota käytetään evästeen luomiseen.
- ”Evästeen_nimi” on evästeen nimi, jota palvelin käyttää haettaessa arvoa taulukon muuttujasta $ _COOKIE. Se on pakollista.
- “Cookie_value” on evästeen arvo ja pakollinen
- "[Vanhentumisaika]" on valinnainen; sitä voidaan käyttää evästeen viimeisen käyttöajan asettamiseen, kuten 1 tunti. Aika asetetaan käyttämällä PHP time () -toimintoja plus tai miinus sekuntien lukumäärä, joka on suurempi kuin 0 eli aika () + 3600 1 tunnin ajan.
- "[Evästepolku]" on valinnainen; sitä voidaan käyttää asettamaan evästepolku palvelimelle. Eteenpäin viiva "/" tarkoittaa, että eväste asetetaan saataville koko verkkotunnukseen. Alihakemistot rajoittavat evästeiden pääsyä aliverkkotunnukseen.
- "[Verkkotunnus]" on valinnainen, sitä voidaan käyttää määrittämään evästeiden käyttöhierarkia, ts. Www.cookiedomain.com tarkoittaa koko verkkotunnusta, kun taas www.sub.cookiedomain.com rajoittaa evästeiden käyttöä sivustoon www.sub.cookiedomain.com ja sen alialueisiin. verkkotunnuksia. Huomaa, että aliverkkotunnuksella voi olla aliverkkotunnus, kunhan merkkien kokonaismäärä on enintään 253 merkkiä.
- “[Suojattu]” on valinnainen, oletusarvo on väärä. Sitä käytetään määrittämään, lähetetäänkö eväste https: n kautta, jos se on asetettu tosi tai http, jos se on asetettu vääräksi.
- "[Httponly]" on valinnainen. Jos se on asetettu tosi, vain asiakaspuolen komentosarjakielet eli JavaScript eivät voi käyttää niitä.
Huomaa: php set cookie -toiminto on suoritettava ennen HTML-avaustunnistetta.
Tarkastellaan nyt esimerkkiä, joka käyttää evästeitä.
Luomme perusohjelman, jonka avulla voimme tallentaa käyttäjänimen evästeeseen, joka vanhenee kymmenen sekunnin kuluttua.
Alla oleva koodi osoittaa yllä olevan esimerkin ”cookies.php” toteutuksen.
Tuotos:
the cookie has been set for 60 seconds
Nouda evästeen arvo
Luo toinen tiedosto nimeltä ”cookies_read.php” seuraavalla koodilla.
Tuotos:
Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )
Huomaa: $ _COOKIE on PHP, joka on rakennettu super globaaliin muuttujaan.
Se sisältää kaikkien asetettujen evästeiden nimet ja arvot.
Arvojen määrä, jotka
$ _COOKIE-taulukko voi sisältää php.ini: ssä asetetun muistin koon.
Oletusarvo on 1 Gt.
Testaamme sovellustamme.
Oletetaan, että olet tallentanut PHP-tiedostosi phptus-kansioon.
- Vaihe 1 - avaa selain ja kirjoita URL-osoite http: //localhost/phptuts/cookies_read.php
Huomaa: Vain tyhjä taulukko on näytetty
- Vaihe 2 - Selain URL-osoitteeseen http: //localhost/phptuts/cookies.php
- Vaihe 3 - Vaihda takaisin ensimmäiseen välilehteen ja napsauta sitten päivityspainiketta
Odota minuutti ja napsauta sitten Päivitä-painiketta uudelleen. Mitä tuloksia sait?
Poista evästeet
- Jos haluat tuhota evästeen ennen sen vanhentumisaikaa, asetat vanhenemisajaksi jo kuluneen ajan.
- Luo uusi arkistoitu cookie_destroy.php seuraavalla koodilla
- Toista edellisen osan vaiheet 1–3 evästearvojen noutamiseksi.
- Avaa URL-osoite http: //localhost/phptuts/cookie_destroy.php
- Vaihda URL-osoitteeseen http: //localhost/phptuts/cookies_read.php mitä tuloksia se näyttää?
Mikä on istunto?
- Istunto on globaali muuttuja, joka on tallennettu palvelimelle.
- Jokaiselle istunnolle on annettu yksilöllinen tunnus, jota käytetään tallennettujen arvojen hakemiseen.
- Aina kun istunto luodaan, yksilöllisen istuntotunnuksen sisältävä eväste tallennetaan käyttäjän tietokoneelle ja palautetaan jokaisen pyynnön yhteydessä palvelimelle. Jos asiakasselain ei tue evästeitä, yksilöllinen php-istunnon tunnus näkyy URL-osoitteessa
- Istunnot pystyvät tallentamaan suhteellisen suuria tietoja evästeisiin verrattuna.
- Istunnon arvot poistetaan automaattisesti, kun selain suljetaan. Jos haluat tallentaa arvot pysyvästi, sinun tulisi tallentaa ne tietokantaan.
- Aivan kuten taulukon muuttuja $ _COOKIE, istuntomuuttujat tallennetaan taulukon muuttujaan $ _SESSION. Aivan kuten evästeet, istunto on aloitettava ennen HTML-tageja.
Miksi ja milloin käyttää istuntoja?
- Haluat tallentaa tärkeät tiedot, kuten käyttäjätunnuksen, turvallisemmin palvelimelle, jossa haitalliset käyttäjät eivät voi karata heidän kanssaan.
- Haluat siirtää arvoja yhdeltä sivulta toiselle.
- Haluat vaihtoehdon evästeille selaimissa, jotka eivät tue evästeitä.
- Haluat tallentaa globaalit muuttujat tehokkaalla ja turvallisemmalla tavalla kuin niiden välittäminen URL-osoitteeseen
- Kehität sovellusta, kuten ostoskoria, jonka on tilapäisesti tallennettava tietoja, joiden kapasiteetti on yli 4 kt.
Istunnon luominen
Istunnon luomiseksi sinun on ensin kutsuttava PHP session_start -toiminto ja tallennettava sitten arvosi taulukon muuttujaan $ _SESSION.
Oletetaan, että haluamme tietää, kuinka monta kertaa sivu on ladattu, voimme tehdä sen istunnon avulla.
Alla oleva koodi näyttää, miten arvoja luodaan ja haetaan istunnoista
Tuotos:
You are visitor number 1
Istunnon muuttujien tuhoaminen
Session_destroy () -funktiota käytetään tuhoamaan kaikki Php-istuntomuuttujat.
Jos haluat tuhota vain istunnon yksittäisen kohteen, käytä unset () -toimintoa.
Alla oleva koodi kuvaa molempien menetelmien käyttöä.
Session_destroy poistaa kaikki istunnon tiedot, mukaan lukien istuntoon liittyvät evästeet.
Asetus poistaa vain yksittäiset istuntomuuttujat.
Muut tiedot pysyvät ennallaan.
Yhteenveto
- Evästeet ovat pieniä tiedostoja, jotka on tallennettu käyttäjän tietokoneelle
- Evästeitä voidaan lukea vain myöntäneestä verkkotunnuksesta
- Evästeillä voi olla viimeinen voimassaoloaika, ellei sitä ole asetettu, eväste vanhenee, kun selain suljetaan
- Istunnot ovat kuin palvelimelle tallennetut globaalit muuttujat
- Jokaiselle istunnolle annetaan yksilöllinen tunniste, jota käytetään käyttäjän muuttujien seuraamiseen.
- Sekä evästeet että istunnot on aloitettava ennen HTML-tunnisteiden lähettämistä selaimelle.