Mis on küpsis?
Küpsis on väike fail maksimaalse suurusega 4KB, mille veebiserver klientarvutisse salvestab.
Kui küpsis on määratud, tagastavad kõik järgnevad lehetaotlused küpsise nime ja väärtuse.
Küpsist saab lugeda ainult sellest domeenist, kust see on välja antud. Näiteks domeeni www.guru99.com kasutavat küpsisekomplekti ei saa lugeda domeenist karjäär.guru99.com.
Enamik Interneti-veebisaite kuvavad elemente teistest domeenidest, näiteks reklaam. Neid elemente teenindavad domeenid saavad ka ise küpsiseid seada. Neid nimetatakse kolmanda osapoole küpsisteks.
Kasutaja loodud küpsis saab olla nähtav ainult neile. Teised kasutajad ei näe selle väärtust.
Enamikul veebibrauseritest on küpsiste, kolmanda osapoole küpsiste või mõlema keelamine.
Sel juhul vastab PHP, edastades küpsisesümboli URL-is.
Allpool toodud diagramm illustreerib küpsiste toimimist.
Siin,
1) Kasutaja taotleb küpsiseid salvestavat lehte
2) Server määrab küpsise kasutaja arvutisse
3) Kasutaja muud lehetaotlused tagastavad küpsise nime ja väärtuse
Selles õpetuses saate teada
- Miks ja millal küpsiseid kasutada?
- Küpsiste loomine
- Küpsise väärtuse hankimine
- Kustuta küpsised
- Mis on seanss?
- Miks ja millal seansse kasutada?
- Seansi loomine
- Sessioonimuutujate hävitamine
Miks ja millal küpsiseid kasutada?
-
Http on kodakondsuseta protokoll; küpsised võimaldavad meil jälgida rakenduse olekut kasutaja arvutisse salvestatud väikeste failide abil.
Küpsiste salvestamise tee sõltub brauserist.
Internet Explorer salvestab need tavaliselt kausta Temporal Internet Files.
-
Kasutajakogemuse isikupärastamine - see saavutatakse lubades kasutajatel valida oma eelistused.
Järgmiseks taotletud leht on isikupärastatud, lähtudes küpsistes määratud eelistustest.
- Kasutaja külastatud lehtede jälgimine
Küpsiste loomine
Vaatame nüüd küpsise loomisel kasutatud põhisüntaksit.
SIIN,
- Php “setcookie” on PHP funktsioon, mida kasutatakse küpsise loomiseks.
- „Küpsise_nimi“ on selle küpsise nimi, mida server kasutab oma väärtuse massiivi muutujast $ _COOKIE toomiseks. See on kohustuslik.
- „Cookie_value“ on küpsise väärtus ja see on kohustuslik
- „[Aegumisaeg]” on valikuline; selle abil saab määrata küpsise aegumisaega, näiteks 1 tund. Aeg määratakse PHP time () funktsioonide abil pluss või miinus sekundite arv, mis on suurem kui 0, st aeg () + 3600 1 tund.
- „[Küpsise_tee]] on valikuline; seda saab kasutada serveris küpsise tee määramiseks. Kaldkriips “/” tähendab, et küpsis tehakse kättesaadavaks kogu domeenis. Alamkataloogid piiravad küpsiste juurdepääsu alamdomeenile.
- „[Domeen]” on valikuline, seda saab kasutada küpsiste juurdepääsuhierarhia määratlemiseks, st www.cookiedomain.com tähendab tervet domeeni, samas kui www.sub.cookiedomain.com piirab küpsiste juurdepääsu veebisaidile www.sub.cookiedomain.com ja selle alamdokumentidele domeenid. Pange tähele, et alamdomeen võib olla alamdomeen, kui tähemärkide koguarv ei ületa 253 tähemärki.
- “[Turvaline]” on valikuline, vaikeväärtus on vale. Seda kasutatakse selleks, et teha kindlaks, kas küpsis saadetakse https-i kaudu, kui selle väärtuseks on seatud tõene või http, kui see on seatud valeks.
- „[Httponly]” on valikuline. Kui selle väärtuseks on seatud tõene, ei pääse neile juurde ainult kliendipoolsed skriptikeeled, st JavaScripti.
Märkus: PHP set cookie funktsioon tuleb käivitada enne HTML-i avamismärgendit.
Vaatame nüüd küpsiseid kasutavat näidet.
Loome põhiprogrammi, mis võimaldab meil kasutajanime salvestada küpsisesse, mis aegub kümne sekundi pärast.
Allolev kood näitab ülaltoodud näite „cookies.php” rakendamist.
Väljund:
the cookie has been set for 60 seconds
Küpsise väärtuse hankimine
Looge järgmine fail nimega “cookies_read.php” järgmise koodiga.
Väljund:
Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )
Märkus: $ _COOKIE on PHP, mis on ehitatud ülimaailmsesse muutujasse.
See sisaldab kõigi määratud küpsiste nimesid ja väärtusi.
Väärtuste arv, mida
Massiiv $ _COOKIE võib sisaldada sõltuvalt php.ini määratud mälu suurusest.
Vaikeväärtus on 1 GB.
Meie rakenduse testimine.
Oletame, et olete oma PHP-failid salvestanud kausta phptus.
- 1. samm - avage veebibrauser ja sisestage URL http: //localhost/phptuts/cookies_read.php
Märkus. Kuvatud on ainult tühi massiiv
- 2. samm - brauser URL- ile http: //localhost/phptuts/cookies.php
- 3. samm - lülitage tagasi esimesele vahekaardile, seejärel klõpsake nuppu Värskenda
Oodake minut ja klõpsake uuesti värskendusnuppu. Milliseid tulemusi saite?
Kustuta küpsised
- Kui soovite küpsise enne selle aegumiskuupäeva hävitada, määrate aegumisaegaks juba möödunud aja.
- Looge uus fail nimega cookie_destroy.php järgmise koodiga
- Korrake küpsiseväärtuste toomise juhiseid ülaltoodud jaotisest 1 kuni 3.
- Avage URL http: //localhost/phptuts/cookie_destroy.php
- Lülitu URL- ile http: //localhost/phptuts/cookies_read.php milliseid tulemusi see kuvab?
Mis on seanss?
- Seanss on serverisse salvestatud globaalne muutuja.
- Igale seansile määratakse unikaalne ID, mida kasutatakse salvestatud väärtuste toomiseks.
- Seansi loomisel salvestatakse unikaalne seansi ID sisaldav küpsis kasutaja arvutisse ja tagastatakse iga päringuga serverile. Kui kliendibrauser ei toeta küpsiseid, kuvatakse URL-is unikaalne php-seansi ID
- Seansid suudavad küpsistega võrreldes suhteliselt suuri andmeid salvestada.
- Brauseri sulgemisel kustutatakse seansi väärtused automaatselt. Kui soovite väärtusi püsivalt salvestada, peaksite need andmebaasi salvestama.
- Täpselt nagu massiivi muutuja $ _COOKIE, salvestatakse sessiooni muutujad massiivi muutuja $ _SESSION. Nii nagu küpsised, tuleb ka seanss alustada enne HTML-i silte.
Miks ja millal seansse kasutada?
- Tahate olulist teavet, näiteks kasutajatunnust, serverisse turvalisemalt salvestada, kus pahatahtlikud kasutajad ei saa nendega karastada.
- Soovite väärtusi ühelt lehelt teisele edastada.
- Soovite küpsistele alternatiivi brauserites, mis ei toeta küpsiseid.
- Soovite globaalseid muutujaid salvestada tõhusalt ja turvalisemalt, võrreldes URL-i sisestamisega
- Arendate sellist rakendust nagu ostukorv, mis peab ajutiselt salvestama teavet, mille maht on suurem kui 4KB.
Seansi loomine
Seansi loomiseks peate kõigepealt kutsuma funktsiooni PHP session_start ja seejärel salvestama oma väärtused massiivi muutuja $ _SESSION.
Let’s suppose we want to know the number of times that a page has been loaded, we can use a session to do that.
The code below shows how to create and retrieve values from sessions
Output:
You are visitor number 1
Destroying Session Variables
The session_destroy() function is used to destroy the whole Php session variables.
If you want to destroy only a session single item, you use the unset() function.
The code below illustrates how to use both methods.
Session_destroy removes all the session data including cookies associated with the session.
Unset only frees the individual session variables.
Other data remains intact.
Summary
- Cookies are small files saved on the user’s computer
- Cookies can only be read from the issuing domain
- Cookies can have an expiry time, if it is not set, then the cookie expires when the browser is closed
- Sessions are like global variables stored on the server
- Igale seansile antakse kordumatu identifitseerimis-ID, mida kasutatakse kasutaja muutujate jälgimiseks.
- Nii küpsised kui ka seansid tuleb alustada enne, kui brauserile on saadetud HTML-märgendeid.