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
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Ogólnie straszna sieka w kodzie, a jak ktoś pisze, że $_SERVER['REMOTE_ADDR'] jest jakimkolwiek zabezpieczeniem, to... zostawię to bez komentarza. Nie ma tu czego oceniać, gdyż skrypt w ogóle nie jest napisany w taki sposób, aby można byłoby się nim podzielić (brak jakiejkolwiek parametryzacji czy możliwości "zcustomizowania").
Go to the top of the page
+Quote Post
klapaucius
post
Post #3





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

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


Cytat(darko @ 6.10.2011, 15:59:38 ) *
jak ktoś pisze, że $_SERVER['REMOTE_ADDR'] jest jakimkolwiek zabezpieczeniem, to... zostawię to bez komentarza.

Czyli że można to wywalić?

P.S.

Nie piszę wcale tego kodu, aby się z kimś dzielić ale do moich indywidualnych potrzeb pod stronę. Zdaję sobie sprawę, że nie jest on zbyt "optymalny" jeśli można to tak nazwać.. Ale właśnie dlatego napisałem ten temat żebyście mi doradzili co tam można by zmienić czy coś...

Ten post edytował klapaucius 6.10.2011, 15:08:28
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 - 08:29