![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam do rozwiązania pewien problem, krótko opiszę o co chodzi: - mam 3 serwisy pod 3 różnymi domenami: s1.pl, s2.pl, s3.pl - czas zalogowania na różnych serwisach ma być różny (np. 6h, 12h, 1h - dwa serwisy z newsami i jeden aukcyjny) - wszystkie serwisy stoją na jednym serwerze, na tym samym koncie (nawet pliki silnika są te same, ale to chyba żadna różnica) - serwisy korzystają z jednej bazy danych, ale pobierają po prostu różne informacje - system logowania każdego serwisu na sesjach (id sesji w cookies) - systemy będą do siebie wzajemnie linkowały (np. przekazując w ten sposób id sesji) Problem: jak zrobić, żeby zalogowanie na jednym z serwisów logowało na pozostałe? - system sesji PHP zapisuje dane na plikach, czyli teoretycznie przekazanie id sesji w linku załatwiłoby sprawę? Czy istnieje jeszcze podział sesji na domeny? (konto hostingowe jest to samo) - cookies są niezależne dla każdej domeny, to oczywiste Mój pomysł: (np. linkujemy s1 -> s2) - przekazywanie w linku id sesji - na s2 robimy session_regenerate_id() (ew. kopiujemy dane zapisane w sesji) i ustawiamy inny czas życia sesji (wymóg) - dzięki temu ustawią się niezależne cookies dla każdego serwisu - id sesji muszą być zapisane w bazie (taki kolejny wymóg), więc z wylogowaniem ze wszystkich serwisów jednocześnie też nie będzie problemu Moje pytanie brzmi: - jak to się ma do bezpieczeństwa? - czy moje myślenie dąży w dobrą stronę? - czy w ogóle jest to wykonalne biorąc pod uwagę kwestie zabezpieczeń serwera/przeglądarek? Z góry dzięki za wszystkie sugestie. Ten post edytował sowiq 13.02.2009, 12:36:26 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ok, może nie wyraziłem się zbyt jasno. Jak napisałem na początku - baza danych jest wspólna dla każdego serwisu. Wspólna jest tabela z użytkownikami, jest ten sam system logowania (te same pliki!).
Cytat Żeby był zalogowany, token musi najpierw istnieć. Sorry, ale najpierw piszesz o session hijacking, a potem wypisujesz takie rzeczy. Czym w takim razie wg. Ciebie taki generowany token będzie się różnił od SID'a?Cytat A nie lepiej byłoby dać wspólne konto, tylko wymaganie zalogowania do każdego z serwisów Jeśli byłoby lepiej, to nie zakładałbym tematu. A konto jest wspólne, co napisałem powyżej. W pierwszym poście napisałem, że chcę zrobić tak, że po zalogowaniu do jednego serwisu, użytkownik był zalogowany na pozostałych 2. To jest moje pytanie, więc nie pisz mi proszę, że mogę logować usera 3 razy, bo doskonale o tym wiem. Ten post edytował sowiq 13.02.2009, 20:24:53 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 16:52 |