nette s autentizaciou/autorizaciou ale bez cookies – da sa to?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
xr
Člen | 94
+
0
-

zdravim.

napadlo ma, ze v nette urobim remake jedneho starsieho projeku, ktory vsak mal jeden dost paradoxny poziadavok na to, aby vobec bezal. na klientov sa prakticky nemohli ziadne data ukladat. t.j. vsetko bezalo bez cookies. napadlo ma prerobit handler session do databazy (prakticky tam je nieco jednoduche na podobnom principe, kde sa v URL udrzuje token a server drzi kontext, ale nie az take, ze by to fungovalo univerzalne ako session.

moja otazka znie (teda niekolko otazok): existuje na nette nejaky sposob, ktory by bez session udrzoval kontext? da sa na nette napojit handler, ktory drzi kontext v databaze a vyuzivat na to tento handler? v tom pripade, su routy schopne vydrziavat nejaky token na identifikaciu uzivatela? (cez persistent parameter?)

David Grudl
Nette Core | 8139
+
0
-

Lze to udělat přímo na úrovni PHP, tj. Nette tomu nepomůže ani nebude bránit. Viz příklad na http://php.net/…-handler.php

xr
Člen | 94
+
0
-

dakujem za odpoved.

este mam otazku – ked sa pouziva tento vlastny sposob na sessiony, session ID si browser aj tak predsa uklada do cookies, nie ? cookies prave pouzit nemozem. v tom je ten problem. mne nejde o problem so sessions na strane servra, ale na strane klienta. je na to pouzitelny napad s tokenom ‚ulozenom‘ v URL prostrednictvom persistent parametra (napr. v BasePresenter) ?

srigi
Nette Blogger | 558
+
0
-

xr napsal(a):

dakujem za odpoved.

este mam otazku – ked sa pouziva tento vlastny sposob na sessiony, session ID si browser aj tak predsa uklada do cookies, nie ? cookies prave pouzit nemozem. v tom je ten problem. mne nejde o problem so sessions na strane servra, ale na strane klienta. je na to pouzitelny napad s tokenom ‚ulozenom‘ v URL prostrednictvom persistent parametra (napr. v BasePresenter) ?

Toto mas tiez v manuali – Session sa manazuje pomocou tokenu defaultne pomenovanym PHPSESSID. Tento sa prenasa primarne cez cookie alebo URL. PHP je bezne nakonfigurovane, ze vyuziva iba cookie a prenasanie PHPSESSID cez URL je zakazane. Treba si to odblokovat a PHPSESSID sa ti zacne prenasat cez URL. Nemalo by to mat ziadny vplyv na Nette a jeho routing, PHP engine pravdepodobne PHPSESSID odobere token z URL este pred predanim riadenia do aplikacie (v $_GET by sa ten token nemal vyskytovat, aj ked v URL je). Vyskusaj, uvidis.

xr
Člen | 94
+
0
-

dik. skusim. este s PHP nie som velmi skuseny, obzvlast v tych sessionoch sa velmi nevyznam. takze dik za kazdu dobru radu.