Hvad er cookie?
En cookie er en lille fil med den maksimale størrelse på 4KB, som webserveren gemmer på klientcomputeren.
Når en cookie er indstillet, returnerer alle sideanmodninger, der følger, cookienavn og værdi.
En cookie kan kun læses fra det domæne, som den er udstedt fra. For eksempel kan et cookiesæt, der bruger domænet www.guru99.com, ikke læses fra domænet career.guru99.com.
De fleste af hjemmesiderne på Internettet viser elementer fra andre domæner som f.eks. Reklame. Domænerne, der betjener disse elementer, kan også indstille deres egne cookies. Disse kaldes tredjepartscookies.
En cookie oprettet af en bruger kan kun være synlig for dem. Andre brugere kan ikke se dens værdi.
De fleste webbrowsere har muligheder for at deaktivere cookies, tredjepartscookies eller begge dele.
Hvis dette er tilfældet, svarer PHP ved at videregive cookietokenet i URL'en.
Diagrammet nedenfor illustrerer, hvordan cookies fungerer.
Her,
1) En bruger anmoder om en side, der gemmer cookies
2) Serveren indstiller cookien på brugerens computer
3) Andre sideanmodninger fra brugeren returnerer cookienavn og værdi
I denne vejledning lærer du-
- Hvorfor og hvornår skal jeg bruge cookies?
- Oprettelse af cookies
- Henter cookieværdien
- Slet cookies
- Hvad er en session?
- Hvorfor og hvornår skal du bruge sessioner?
- Oprettelse af en session
- Ødelægge sessionsvariabler
Hvorfor og hvornår skal jeg bruge cookies?
-
Http er en statsløs protokol; cookies giver os mulighed for at spore applikationens tilstand ved hjælp af små filer, der er gemt på brugerens computer.
Stien, hvor cookies blev gemt, afhænger af browseren.
Internet Explorer gemmer dem normalt i mappen Temporal Internet Files.
-
Personalisering af brugeroplevelsen - dette opnås ved at give brugerne mulighed for at vælge deres præferencer.
Den efterspurgte side er tilpasset efter de indstillede præferencer i cookies.
- Sporing af de sider, som en bruger har besøgt
Oprettelse af cookies
Lad os nu se på den basale syntaks, der bruges til at oprette en cookie.
HER,
- Php “setcookie” er den PHP-funktion, der bruges til at oprette cookien.
- “Cookie_name” er navnet på den cookie, som serveren bruger, når den henter dens værdi fra $ _COOKIE-arrayvariablen. Det er obligatorisk.
- “Cookie_value” er værdien af cookien og dens obligatoriske
- "[Udløbstid]" er valgfri; det kan bruges til at indstille udløbstiden for cookien, f.eks. 1 time. Tiden indstilles ved hjælp af funktionerne PHP time () plus eller minus et antal sekunder større end 0 dvs. tid () + 3600 i 1 time.
- "[Cookie_path]" er valgfri; det kan bruges til at indstille cookiestien på serveren. Fremad skråstreg “/” betyder, at cookien gøres tilgængelig på hele domænet. Undermapper begrænser cookie-adgangen til underdomænet.
- “[Domæne]” er valgfrit, det kan bruges til at definere cookieadgangshierarkiet, dvs. www.cookiedomain.com betyder hele domænet, mens www.sub.cookiedomain.com begrænser cookieadgangen til www.sub.cookiedomain.com og dets under domæner. Bemærk, det er muligt at have et underdomæne af et underdomæne, så længe det samlede antal tegn ikke overstiger 253 tegn.
- "[Sikker]" er valgfri, standard er falsk. Det bruges til at bestemme, om cookien sendes via https, hvis den er indstillet til sand eller http, hvis den er indstillet til falsk.
- "[Httponly]" er valgfri. Hvis det er indstillet til sandt, er det kun script-sprog på klientsiden, dvs. JavaScript kan ikke få adgang til dem.
Bemærk: php-sæt-cookiefunktionen skal udføres før HTML-åbningstagget.
Lad os nu se på et eksempel, der bruger cookies.
Vi opretter et grundlæggende program, der giver os mulighed for at gemme brugernavnet i en cookie, der udløber efter ti sekunder.
Koden nedenfor viser implementeringen af ovenstående eksempel “cookies.php”.
Produktion:
the cookie has been set for 60 seconds
Henter cookieværdien
Opret en anden fil med navnet “cookies_read.php” med følgende kode.
Produktion:
Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )
Bemærk: $ _COOKIE er en PHP indbygget i super global variabel.
Den indeholder navne og værdier på alle de indstillede cookies.
Antallet af værdier, som
$ _COOKIE-arrayet kan indeholde, afhænger af hukommelsesstørrelsen, der er angivet i php.ini.
Standardværdien er 1 GB.
Test af vores ansøgning.
Lad os antage, at du har gemt dine PHP-filer i phptus-mappen.
- Trin 1 - åbn din webbrowser og indtast URL'en http: //localhost/phptuts/cookies_read.php
Bemærk: Kun et tomt array er blevet vist
- Trin 2 - Browser til URL'en http: //localhost/phptuts/cookies.php
- Trin 3 - Skift tilbage til den første fane, og klik derefter på knappen Opdater
Vent et øjeblik, og klik derefter på knappen Opdater igen. Hvilke resultater fik du?
Slet cookies
- Hvis du vil ødelægge en cookie inden dens udløbstid, skal du indstille udløbstiden til et tidspunkt, der allerede er gået.
- Opret en ny fil, der hedder cookie_destroy.php med følgende kode
- Gentag trin 1 til og med 3 fra ovenstående afsnit om hentning af cookieværdier.
- Åbn URL'en http: //localhost/phptuts/cookie_destroy.php
- Skift til URL'en http: //localhost/phptuts/cookies_read.php hvilke resultater viser den?
Hvad er en session?
- En session er en global variabel, der er gemt på serveren.
- Hver session tildeles et unikt id, som bruges til at hente lagrede værdier.
- Hver gang en session oprettes, gemmes en cookie, der indeholder det unikke session-id, på brugerens computer og returneres med hver anmodning til serveren. Hvis klientbrowseren ikke understøtter cookies, vises det unikke php-session-id i URL'en
- Sessioner har kapacitet til at gemme relativt store data sammenlignet med cookies.
- Sessionsværdierne slettes automatisk, når browseren lukkes. Hvis du vil gemme værdierne permanent, skal du gemme dem i databasen.
- Ligesom $ _COOKIE-arrayvariablen gemmes sessionsvariabler i $ _SESSION-arrayvariablen. Ligesom cookies skal sessionen startes inden HTML-tags.
Hvorfor og hvornår skal du bruge sessioner?
- Du ønsker at gemme vigtige oplysninger som bruger-id mere sikkert på serveren, hvor ondsindede brugere ikke kan temperere med dem.
- Du vil overføre værdier fra en side til en anden.
- Du vil have alternativet til cookies i browsere, der ikke understøtter cookies.
- Du vil gemme globale variabler på en effektiv og mere sikker måde sammenlignet med at sende dem i URL'en
- Du udvikler en applikation, såsom en indkøbskurv, der skal midlertidigt gemme oplysninger med en kapacitet større end 4KB.
Oprettelse af en session
For at oprette en session skal du først ringe til PHP session_start-funktionen og derefter gemme dine værdier i $ _SESSION-arrayvariablen.
Lad os antage, at vi vil vide, hvor mange gange en side er indlæst, vi kan bruge en session til at gøre det.
Koden nedenfor viser, hvordan man opretter og henter værdier fra sessioner
Produktion:
You are visitor number 1
Ødelægge sessionsvariabler
Funktionen session_destroy () bruges til at ødelægge hele Php-sessionvariablerne.
Hvis du kun ønsker at ødelægge en enkelt session, skal du bruge funktionen unset ().
Koden nedenfor illustrerer, hvordan man bruger begge metoder.
Session_destroy fjerner alle sessionsdata inklusive cookies, der er knyttet til sessionen.
Unset frigør kun de individuelle sessionsvariabler.
Andre data forbliver intakte.
Resumé
- Cookies er små filer gemt på brugerens computer
- Cookies kan kun læses fra det udstedende domæne
- Cookies kan have en udløbstid, hvis den ikke er indstillet, udløber cookien, når browseren lukkes
- Sessioner er som globale variabler, der er gemt på serveren
- Hver session får et unikt identifikations-id, der bruges til at spore variablerne for en bruger.
- Både cookies og sessioner skal startes, før HTML-tags er sendt til browseren.