Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie na bazie MySQL, a nie na sesjach - bezpieczne?
infoo1
post 12.12.2008, 22:05:07
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 12.11.2008

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


Mam pomysł na zrobienie takiego logowania na bazie:
1. Nie ma sesji, ani cookies.
2. Struktura tabeli z sesjami:


Kod
+---------+------------+--------------+---------+------------+-------------+
| user_id | session_id | user_browser | user_ip | start_time | remember_me |
+---------+------------+--------------+---------+------------+-------------+


Objaśnienia:
  • user_id:
    id użytkownika z tabeli prefix_users
  • session_id:
    "sid". Planuję go przekazywać w adresie (index.php?mode=blablabla&sid=tu_sid). //W PHP była funkcja generująca sid. Jak się nazywała?
  • user_browser:
    $_SERVER['HTTP_USER_AGENT'];
  • user_ip:
    $_SERVER['REMOTE_ADDR'];
  • start_time:
    time(); przy logowaniu. W konfiguracji ustalam po jakim czasie ma wylogowywać (tabela prefix_config).
  • remember_me:
    auto-logowanie
3. Przy każdym odświeżeniu strony sprawdzam, czy zgadza się user_browser, user_ip, start_time, session_id.
4. Remember_me: działa, jeśli jest dozwolone w konfiguracji.
Pytania:
1. Czy to bezpieczne? Coś pominąłem?
2. Czy sprawdzać oprócz tego $_SERVER['X_FORWARDED_FOR']; //I czemu nie znalazłem tego w manualu?
3. Na ile powinienem ustawić domyślny czas trwania sesji (bo może być albo domyślny, albo na zawsze (remember_me może być 0 lub 1)).

Ten post edytował infoo1 12.12.2008, 22:05:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Darti
post 12.12.2008, 23:39:14
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


IE nie przekazuje sesji między oknami (czy też FF bo już nie pamiętam), ale to wciąż ta sama przeglądarka.

1) Bezpieczne, o ile porządnie zabezpieczysz pozostałą część serwisu (z tym że wywołania http (adres z numerem sesji) są łatwiejsze do zdobycia niż nagłówki http dla kogoś kto nasłuchuje (niewiele ale zawsze), z tą uwagą że cache przeglądarki pamięta adresy a nie zmienne sesyjne
2) Można, ale nie zawsze dostaniesz te dane bo nie zawsze są wysyłane (nie ma na to RFC dlatego nie ma w manualu)
3) ja ZAWSZE daje czas domyślny trwania sesji (boję się kafejek internetowych i głupoty niewylogowujących się userów jak ognia)

Ten post edytował Darti 12.12.2008, 23:40:29


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post

Posty w temacie
- infoo1   Logowanie na bazie MySQL, a nie na sesjach - bezpieczne?   12.12.2008, 22:05:07
- - Darti   A że tak zapytam, jakie są powody do rezygnowania ...   12.12.2008, 22:20:36
- - infoo1   1. 2 (i więcej) sesje się zlepiają w jedną, czyli ...   12.12.2008, 22:33:35
- - erix   Cytat1. 2 (i więcej) sesje się zlepiaj...   12.12.2008, 22:38:27
- - Darti   hmm ok, z Twojego rozwiązania wychodzi mi jedynie,...   12.12.2008, 22:46:12
- - infoo1   1. Nie, nie pograć. To program, nie gra. 2. Tu mog...   12.12.2008, 22:55:41
- - Darti   Ależ wszystko w porządku, sam nie polecam zachowyw...   12.12.2008, 23:10:11
- - infoo1   Nie do końca . Jeszcze jest $_SERVER['HTT...   12.12.2008, 23:16:28
- - Darti   IE nie przekazuje sesji między oknami (czy też FF ...   12.12.2008, 23:39:14
- - infoo1   0) Ale jak sprawdzam browsera, to pokaże coś inneg...   12.12.2008, 23:57:34
- - Darti   oj ... miałem na mysli dwa okna IE = dwie różne se...   13.12.2008, 00:07:25
- - infoo1   Cytatoj ... miałem na mysli dwa okna IE = dwie róż...   13.12.2008, 00:34:39
|- - Darti   Cytat(infoo1 @ 13.12.2008, 00:34:39 )...   13.12.2008, 00:41:57
- - infoo1   Cytatno i skąd bierzesz zmienne $sid, $u...   18.12.2008, 19:38:03
- - pest   Więc cała ta zabawa ma na celu:przeniesienie miejs...   19.12.2008, 08:58:41
- - ucho   Strasznie to wszystko skomplikowane - do podstawow...   19.12.2008, 11:14:00
- - infoo1   To rezygnuję z sid w linku. Cytat# ograniczenie i...   19.12.2008, 15:17:22
- - infoo1   Nie zawsze ma się dostęp do takich rzeczy Jedna...   19.12.2008, 16:39:34
- - Mize   Klasa User, u mnie jest modelem, a do obsługi mech...   19.12.2008, 17:00:18
- - infoo1   CytatKlasa User, u mnie jest modelem, a do obsługi...   19.12.2008, 17:03:29
- - Mize   Dużo by pisać. http://www.google.pl/search?q=php5...   19.12.2008, 17:13:42


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 18:51