![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 25.06.2022 Ostrzeżenie: (0%) ![]() ![]() |
Posiadam dwie aplikacje w obrębie jednej domeny. Zrobiłem SSO tak aby z poziomu jednej aplikacji możliwe było logowanie do drugiej.
W pierwszej aplikacji zrobiłem token, który zawiera również nazwę użytkownika.
W drugiej aplikacji dekoduje token i jeżeli występuje dany użytkownik i występuje plik token.txt to pomijam hasło i wpuszczam do drugiego systemu. Po wylogowaniu z jednego z systemów token jest kasowany. Niestety zauważyłem pierwszy błąd tzn. jeżeli zaloguje się na innej przeglądarce to wtedy utworzy się token.txt więc inna osoba z innej przeglądarki może wywołać bezpośrednio drugą aplikacje i bez logowania wejdzie bo spełniło wszystkie warunki. Czy ktoś ma jakiś pomysł aby zrobić np. token unikalny, może jakiś unikalny sessions_id bądź cookies. Trochę utknąłem i nie wiem co dalej (IMG:style_emoticons/default/facepalmxd.gif) Chyba znalazłem rozwiązanie mojego problemu. Dołożyłem który następnie jest wysyłany za pomocą Ten post edytował aldtest 27.06.2022, 20:22:18 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 25.06.2022 Ostrzeżenie: (0%) ![]() ![]() |
Taki warunek również jest zrobiony. W momencie wylogowania z aplikacji A token jest kasowany oraz zmienia się id sesji. W aplikacji B jest ustawiony warunek jeżeli brakuje pliku z tokenem oraz id sesji się zmieni następuje również wylogowanie z aplikacji B. Każdorazowe wywołanie aplikacji B sprawdza czy jest plik z tokenem oraz czy id sessji jest równy $_COOKIE['token'] w innym wypadku jest logout. Tak jak wspomniałem dodatkowo zamknąłem to wszystko w obrębie adresu IP.
Jasne wiem że mogę to zrobić za pomocą oauth natomiast chce się trochę pobawić sesją i cookies dlatego tak kombinuje. Może trochę jak koń pod górę ale chce mieć pewność że to co zrobiłem ma sens i jest bezpieczne albo ma to poważne luki i nie ma co się w dalej bawić. Ten post edytował aldtest 29.06.2022, 14:35:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 16:26 |