fones
12.08.2004, 10:02:02
Buduje właśnie swojego pierwszego cms'a, a dokładnie jego engine. Kolejnym krokiem w jego budowie jest stworzenie systemu logowania... tak że po pomyslnym zalogowaniu, uzytkownik bedzie miał dostep do przeroznych funkcji serwisu. Moje pytanie brzmi nastepujaco... czy sesje mam otwierac odrazu w pliku index.php a po pomyslnym zalogowaniu dodawac odpowiednie zmienne swiadczace o tym ze logowanie sie powiodło... czy sesje mam otwierać dopiero po zalogowaniu... wtedy tylko nie wiem jak mam ją dalej utrzymywać (na innych stronach). W pierwszym przypadku nie ma problemu bo na poczatku kazdej wstawiam session_start(); i po kłopocie... tylko jezeli ta osoba nie ma sie zamiaru zalogowac, bo np. jest pierwszy raz to jak sesje skonczyć ? Może to troche głupie... ale da sie skumac... POMOCY

!
pozdro
MarcinZ
12.08.2004, 10:07:09
Prpopnuje by start_session dawac tylko w plikach, które będą zabezpieczone i w tych plikach dodać warunek by sprawdzano czy są ustawione zmienne sesyjne $_SESSION a potem odpowiednio sprawdzac czy w tych zmiennych sa warunki by dana osoba miala uprawnienia do danej czesci skryptu czy tez nie...
Ja to tak widze.... a i oprzyj ten systemna bazach danych sa bezpieczniejsze..
fones
12.08.2004, 10:33:28
A co sie stanie jeżeli sesja zostanie otwarta ale nie zakończona... jak długo zmienne beda aktywne... tyle co ustawione w php.ini ?
MarcinZ
12.08.2004, 10:39:04
można przecież podczas ustawiania sessji ustalić jaki określony czas mają istnieć pliki cookies i chyba jak dobrze pamiętam dla każdego okna przeglądarki tworzona jest przez server nowy session_id wedlug ktorego to wszystko dziala
squid
12.08.2004, 19:21:45
Cytat(MarcinZ @ 2004-08-12 11:39:04)
można przecież podczas ustawiania sessji ustalić jaki określony czas mają istnieć pliki cookies i chyba jak dobrze pamiętam dla każdego okna przeglądarki tworzona jest przez server nowy session_id wedlug ktorego to wszystko dziala
ale jak user wylaczy cookie nie masz jak kontrolowac czasu waznosci sesji, mozna przy pomocy javascriptu wywolywac niszczenie sesji. Ponoc czasem sie zdarza ze severy proxy trzymaja plik z seja dluzej i na nic starania ale to tyloko zaslyszane
skar
13.08.2004, 01:09:17
Proponuje zapoznać się z biblioteką 'phpsecuresessions.inc.php'
NuLL
13.08.2004, 18:16:01
U mnie sesje startuja w pliku index.php jesli ktos sie loguje to dostaje zmienne sesyjne w postaci nieduzej tablice asocjacyjnej gdzie jest mejl nick i uprawnienia zapisane w dosc specyficzny sposob
Pianandrill
7.09.2004, 21:34:57
Ja mam na razie sesje startowane po prostu session_start() i nie mam problemu z innymi plikami bo wszystko (niemal) obsługuje plik index.php. Sesja jest zawsze i w niej jest przechowywany tylko identyfikator usera, zadnych loginów i uprawnień. Jeżeli potrzebuję sprawdzić uprawnienia uzywam klasy do tego, która kontroluje do jakiego elementu i na jakim poziomie sa przyznane uprawnienia.
Niestety bool jest taki ze sesje mi szybko gasną i co chwila (po wysciu ze strony) trzeba sie przelogowac. Na razie nie mam na to czesu ale niedługo wrzuce to wszystko w bd i bedzie ok.
Sesję startuj raczej zawsze tam gdzie mogą wystąpić sprawdzenia upranień na podstawie sesji. Zmienne sesyjne dyfiniuja usera a nie sama sesja. Jeżeli nie wystartujesz sesji to musisz sprawdzać przed sprawdzeniem uprawnień czy sesja jest wogóle dostępna bo inaczej będziesz mial worrningi w logach.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.