Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System sesji - czy mój kod jest optymalny?
klapaucius
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 3
Dołączył: 4.07.2009
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam. Oto mój kod związany z systemem sesji ma na mojej stronie. Chodzi tu o przechowywanie zmiennej z identyfikatorem użytkownika oraz czasem, po którym sesja wygasa:
  1.  
  2. if (!isset($_SESSION['inicjuj'])){ // 1 zabezpieczenia sesji
  3. $_SESSION['inicjuj'] = true;
  4. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  5. }
  6. if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR']){ // 2 zabezpieczenie sesji
  7. header("Location: ../index.php?page=glowna");
  8. }
  9.  
  10. $intTimeoutSeconds = 600; // ustawienie czasu sesji
  11.  
  12. if (!isset($_SESSION['zalogowany'])) { // jeśli zmienna nie jest zarejestrowana
  13. $_SESSION['zalogowany'] = 0; // przypisz jej początkową wartość
  14. }elseif(($_SESSION['intLastRefreshTime']+$intTimeoutSeconds)<time()){
  15. if($_SERVER['PHP_SELF'] != '/index.php'){
  16. header("Location: ../index.php?page=glowna&sesja_wygasla=tak");
  17. }else{
  18. header("Location: ../index.php?page=glowna");
  19. }
  20. }
  21.  
  22. $_SESSION['intLastRefreshTime'] = time();
  23.  
  24. if($_SESSION['zalogowany'] == 0 && $_SERVER['PHP_SELF'] == "/game/index.php"){ // jesli uzytkownik nie jest zalogowany
  25. header("Location: ../index.php?page=glowna");
  26. }elseif($_SESSION['zalogowany'] != 0 && $_SERVER['PHP_SELF'] == "/index.php"){ // podobnie jak wyzej
  27. header("Location: game/index.php?page=main");
  28. }


Czy kod jest w miarę optymalny? Czy coś w nim trzeba zmienic? Jak narazie działa ale wydaje mi się ze jest trochę za długi i że ma jakieś błędy... Czy mam rację? Czy można go jakoś bardziej zoptymalizować czy jest ok?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rotflonline.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 6.10.2011

Ostrzeżenie: (0%)
-----


Troszke nie po naszemu. Znaczy tak do zabawy może być tylko po co? Masz tu linka do naprawde fajnej klasy sesji:

http://www.richardcastera.com/projects/php5-session-class

wraz z instrukcją obsługi.

Takie pytanie: po co Ci ten kod sesji? Co on ma chronić? Jak logujesz użytkownika? Jakie ma prawa? Pisz obiektowo. PHP podobno jest bardziej obiektowy niż sama obiektowość? Można gdzieś zobaczyć tą stronę, którą tworzysz?
Tworzysz aplikacje? Przyjrzyj się jak się tworzy proste CMS-y:

http://buup.mephir.com/read/create-your-ow...ysql-cms-part-i

http://buup.mephir.com/read/create-your-ow...sql-cms-part-ii

Ewenetualny hacker co może zrobić? Pokaż pełny kod stronki, i zaraz zobaczymy. (IMG:style_emoticons/default/smile.gif)

Życzymy powodzenia i dużo cierpliwości. Pamiętaj, nie wyważaj otwartych drzwi, nie ma to sensu raczej.

Z poważaniem
Zespół rotflonline.pl

Ten post edytował Daiquiri 6.10.2011, 19:48:45
Powód edycji: [Daiquiri]: Usuwam link
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 17:03