![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, trochę szukałem na ten temat aczkolwiek nic ciekawego nie znalazłem. Mianowicie mam sprawdzenie poprawności sesji
I sprawdzenie wykonuje na każdej jakby głównej stronie, ale co z includowanymi plikami z trescią, funkcjami, połączeniem itd? W każdym jednym powinienem sprawdzać czy ktoś jest zalogowany czy nie? Chodzi mi tu głównie o sytuację gdy ktoś wpiszę w przeglądarkę bezpośredni link do jakiegoś tam includowanego pliczku typu inc/cos.php itp itd. Dodam, że to taki mały panel admina więc osoba niezalogowana nie powinna nic widzieć. A drugie pytanie, gdy wylogowuję użyć ession_unset() i session_destroy() czy np wystarczy unset zmienne sesyjne, które zapisałem? Jeszcze jedno pytanko ![]() Ten post edytował nait 26.09.2011, 23:24:55 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
1.Najprościej będzie jak zdefiniujesz w pliku do którego includujesz inne pliki jakąś zmienną, np $in=true; a w plikach które są includowane sprawdź, czy istnieje zmienna in, dzięki temu będziesz mógł blokować dostęp do pliku "bezpośrednio".
Gdy poznasz obiektowość, modułowość, to rozwiążesz to w inny sprytniejszy sposób. 2. Jak Ci wygodnie. 3. Jak CI wygodnie. Różnica polega na tym, że unset usunie Ci ten element tablicy, a drugi sposób przypisze do niego pustą tablicę. $_SESSION jest tablicą, pusta tablica to array(), więc czyszczyć sesje można dzięki $_SESSION = array(). Wtedy sesja będzie pustą tablicą tak jak w stanie "początkowym" To co ty robisz to po prostu przypisywanie do jednego z elementów tablicy pustej tablicy. Jeśli w Twoim skrypcie ten element jest tablicą, to wyzerowanie go przypisująć array() jest dobrym sposobem, dzięki temu gdy podasz ten element funkcjion tablicowym, czy pętli foreach nie otrzymasz błedu. -------------------- :)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Możesz trochę rozwinąć troszkę 1 myśl? W zasadzie mogę wykorzystać $_SESSION['auth']?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hmm... a możesz rozwinąć pytanie ? Bo teraz nie jestem pewny, czy dobrze odpowiedziałem.
-------------------- :)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
1.Najprościej będzie jak zdefiniujesz w pliku do którego includujesz inne pliki jakąś zmienną, np $in=true; a w plikach które są includowane sprawdź, czy istnieje zmienna in, dzięki temu będziesz mógł blokować dostęp do pliku "bezpośrednio". Możesz rozwinąć troszkę ten pomysł? I czy nie mógłbym tu wykorzystać $_SESSION['auth']? Ten post edytował nait 27.09.2011, 15:41:54 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 30.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie, przerobie wedle potrzeb.
Kolejne pytanie ![]()
Tak czytałem o bezpieczeństwu sesji i nie wiem czy dobrze zakumałem, ale jeśli autoryzacja nie powiodła się powinienem wygenerować nowe id sesji przy pomocy session_regenerate_id();? Czy tylko przy inicjowaniu jej tak jak miałem dotychczas czyli:
Edit: tak patrze na inne cmsy i czy jest sens blokowania innych includowanych plikow? Ten post edytował nait 27.09.2011, 20:50:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:48 |