tässä opetusohjelmassa opit, kuinka voit tallentaa tiettyjä tietoja palvelimelle väliaikaisesti käyttämällä PHP-istunto.
mikä on istunto
vaikka voit tallentaa tietoja evästeiden avulla, mutta sillä on joitakin tietoturvaongelmia. Koska evästeet tallennetaan käyttäjän tietokoneelle, hyökkääjän on mahdollista helposti muokata evästesisältöä ja lisätä sovellukseesi mahdollisesti haitallisia tietoja, jotka saattavat rikkoa sovelluksesi.,
myös aina, kun selain pyytää URL-osoitetta palvelimelle, kaikki verkkosivuston evästetiedot lähetetään palvelimelle automaattisesti pyynnön mukaisesti. Se tarkoittaa, että jos olet tallentanut 5 evästeitä käyttäjän järjestelmä, jokainen ottaa 4KB kokoisia, selaimen tarvitsee ladata 20KB tietoja aina, kun käyttäjä katselee sivua, joka voi vaikuttaa sivuston suorituskykyä.
voit ratkaista molemmat näistä kysymyksistä PHP-istunnon avulla. PHP-istunto tallentaa tietoja palvelimelle käyttäjän tietokoneen sijaan., Istuntopohjaisessa ympäristössä jokainen käyttäjä tunnistetaan yksilöllisen numeron avulla, jota kutsutaan session identifieriksi tai SID: ksi. Tätä ainutlaatuista istuntotunnusta käytetään linkittämään jokainen käyttäjä omiin tietoihinsa palvelimella, kuten sähköpostit, viestit jne.
Vihje: istuntotunnukset syntyvät satunnaisesti PHP-moottorista, jota on lähes mahdotonta arvata. Lisäksi, koska istuntotiedot tallennetaan palvelimelle, sitä ei tarvitse lähettää jokaisen selainpyynnön mukana.,
Alkaa PHP-Istunto
Ennen kuin voit tallentaa mitä tahansa tietoa istunnon muuttujia, sinun on ensin käynnistä-istunto. Aloita uusi istunto yksinkertaisesti kutsumalla PHP session_start()
funktio. Se luo uuden istunnon ja luo ainutlaatuisen istunnon ID käyttäjälle.
alla olevassa esimerkissä oleva PHP-koodi yksinkertaisesti aloittaa uuden istunnon.,
Esimerkki
Lataa
<?php// Starting sessionsession_start();?>
session_start()
toiminto tarkistaa ensin nähdä, jos istunto on jo olemassa etsimällä läsnäolo istunnon TUNNUS. Jos se löytää yksi, eli jos istunto on jo alkanut, se luodaan session-muuttujat ja jos ei, se aloittaa uuden istunnon luomalla uuden istunnon TUNNUS.
Huomautus: Sinun täytyy soittaa session_start()
toiminto alussa sivu eli, ennen lähtö tuottamat script selaimessa, aivan kuten teit, kun asetat evästeet setcookie()
toiminto.
Tallentaminen ja käyttö Istunnon Tiedot
Voit tallentaa kaikki istunnon tiedot, kuten avain-arvo-pareja $_SESSION
superglobal array. Tallennettuja tietoja voidaan käyttää istunnon aikana. Harkitse seuraavia skripti, joka luo uuden istunnon ja rekisteröi kaksi istunnon muuttujat.,
pääsy istunnon tiedot meidän asettaa meidän edellinen esimerkki miltä tahansa sivulta, samalla web-domain — yksinkertaisesti luoda istunto soittamalla session_start()
ja sitten siirtää vastaava avain $_SESSION
assosiatiivisia array.
yllä olevan esimerkin PHP-koodi tuottaa seuraavan tuotoksen.
Huomautus: Voit käyttää istunnon tiedot samalla sivulla ei ole tarvetta luoda istuntoa, koska se on jo aloittanut sivun yläreunassa.,
Tuhoaa Istunnon
Jos haluat poistaa tietyn istunnon tiedot, yksinkertaisesti katkaistu vastaava avain $_SESSION
assosiatiivisia array, kuten seuraavassa esimerkissä:
Kuitenkin, tuhota istunnon täysin, yksinkertaisesti soittaa session_destroy()
toiminto. Tämä toiminto ei tarvitse mitään argumenttia ja yksi puhelu tuhoaa kaikki istuntotiedot.,
Esimerkki
Lataa
<?php// Starting sessionsession_start(); // Destroying sessionsession_destroy();?>
Huomautus: Ennen kuin tuhoaa istunnon, jossa session_destroy()
toiminto, sinun täytyy ensin luoda istunnon ympäristö, jos se ei ole jo siellä käyttäen session_start()
toiminto, niin että siellä on jotain tuhota.
Jokainen PHP-istunto on timeout-arvo — kesto mitataan sekunneissa — joka määrittää, kuinka kauan istunto pitäisi pysyä elossa ilman käyttäjän toimintaa., Voit säätää tämän aikakatkaisun kesto muuttamalla arvo session.gc_maxlifetime
muuttuja PHP configuration file (php.ini
).