Penktadienis, gruodis 31, 2010

Yii: sesijos mechanizmas

Paprastai PHP laikyti duomenis, susijusius su sesijos, naudoti pasaulinę $ _SESSION masyvas. Tačiau atrodo, kad Yii sistemos sesija naudoja kiek kitokį kelią.

Klasikinės suteikiant vertę šio masyvo, nebus nieko daryti, nes ji bus perrašyti Yii jo turinį. Šio framework'a kūrėjai priėmė gana teisingai, kad geriausia alternatyva, jis bus saugomas duomenų bazės sesijos.

Montavimas

Norėdami pradėti darbą su sesijos, turite naudoti jokių duomenų saugojimo mechanizmą, naudojamą pagal Yii, tada pagrindinis konfigūracijos failo, kaip elementą, pridėkite šį kodą:

  sesija "=> array (
             "Klasė '=>' CDbHttpSession"
             "ConnectionID '=>' db" ',
             "SessionTableName '=>' dbsession"
         )

Baigta! Framwork vien sukurti reikiamą lentelės "dbsession, duomenų bazės susijungimo, ID nurodyta konfigūracijos.

Kaip naudoti?

Nuo tada, sesijos lenta paskambinus Yii :: app) -> sesija. Kadangi ji yra prieinama tiek kaip tam seteris ir karjeristas, bet kurio elemento gali būti nuorodos raktas: Yii :: app () -> sesija ['raktas'], ir priskirti bet kokią vertę: Yii :: app () -> sesija ["raktas '] = "vertė".


Panašūs įrašai

Kategorijos: php / vadovai
Jūs galite sekti atsakymus į šį įrašą per RSS 2.0 pašarų . Taip pat galite rašyti savo pastabas , ar nuorodą į šį postą į savo puslapį.

3 komentaras / ai

Gruodžio 31, 2010
Joan Pierdzioszek

Nicos sprendimas, bet aš girdėjau, kad daugelis įmonių taip ir daro, kad hacker00000je Yii, ir naudoja sesiją kaip jų - pavyzdžiui, yra tokia didelė korporacija, Bielsko, bet aš negaliu duoti savo vardą, nes aš bus sunaikinta Jolaos,!


Sausio 2, 2011
crackcomm

"Nes yra tiek per seteris ir karjeristas, bet kurio elemento gali nuorodos raktas: Yii :: app () -> sesija [" pagrindinis "], ir priskirti jokios vertės: Yii :: app () -> sesija [" key '] = "reikšmė". "

Kas yra seteris ir Rodziciel?
Tai paprasta funkcijos "php'a,.


Sausio 2, 2011
Davidas Pośliński

@ Crackcomm
Tuo atveju, kad tai buvo privatus kintamasis, "Magic" SET metodas __ / __ get, išmestas per klaidą, apie šį faktą. Standartinis php'cu> 5.x, jie įgyvendinami už turtą, tačiau niekas nedraudžia perrašyti juos ir tiesiog keisti "elgesį".

Kai kuriose kalbose, paprastai jie nėra įgyvendintas, todėl mano dėmesį į jį.


  • Obraz CAPTCHY
    Atnaujinti vaizdą
    *

    Šlamštas apsauga pagal WP-SpamFree