Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dane niejawne, zapytanie do innej domeny, uwierzytelnianie, Bezpieczeństwo aplikacji AJAX
pp-layouts
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 1
Dołączył: 28.09.2007
Skąd: Gdynia

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


Temat już kiedyś poruszałem, tym razem problem jest bardziej złożony. Mam aplikację internetową z logowaniem usera. Bardzo dobrze zabezpieczoną od strony backendu, uprawnienia usera siedzą w sesji. Dopóki backend i frontend były częścią tego samego serwisu (ta sama domena), sprawa była prosta - serwer zwracał dane tylko na żądania z tej samej sesji. Napisałem jednak usługę danych, która miała być wspólna dla kilku serwisów. Zwraca JSON lub XML, w zależności od żądania klienta. Problem z tym, że nie chcę zwracać danych każdemu kto zapyta, a tylko konkretnym aplikacjom i tylko wtedy, kiedy user jest zalogowany.

Obecnie mam to rozwiązane tak - PHP wysyła zapytanie z uwierzytelnieniem do serwera usługi danych, następnie zwraca pobrane dane AJAX-owi wewnątrz domeny aplikacji klienckiej. Działa i jest bezpieczne, tylko wydaje mi się to trochę na około. Chciałbym pominąć jakoś ten krok pobierania danych przez PHP aplikacji klienckiej, zamiast tego pobrać dane bezpośrednio JS z serwera usługi danych. Tylko problem uwierzytelnienia! Nie mogę hasła umieścić w kodzie przecież. To musi być proste... Jednym z pomysłów jest, żeby skrypt pobierał dane do uwierzytelnienia z serwera klienckiego (w sesji) następnie wysyłał tak uzyskane uwierzytelnienie do usługi danych. Tak czy inaczej mam 2 zapytania. Chociaż w sumie to pierwsze można wywołać raz, dane mogą siedzieć w pamięci do czasu przeładowania strony (co w AJAX-ie powinno być rzadkością).

Dobra, ja tu kombinuję jak koń pod górę, a może jest jakiś standardowy sposób uwierzytelniania dla zapytań do innej domeny? W szczególności interesują mnie rozwiązania z jQuery.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pp-layouts
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 1
Dołączył: 28.09.2007
Skąd: Gdynia

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


Gdyby klient wybulił z 10 - 20k za ten pomysł, pewnie bym tak zrobił. Problem w tym, że aplikacja (wielka krowa) już jest, w dodatku działa. Jedyne co chcę uzyskać to zmniejszyć obciążenie serwera i przyśpieszyć działanie. Aktualnie serwer aplikacji działa jako proxy dla usługi danych. W sposób niedostępny userowi przesyła uwierzytelnienie do usługi, odbiera dane i wysyła dane do frontendu.

Przy okazji wydania jQuery 1.51 i jego nowego modułu AJAXa odświeżyłem sobie wiedzę (i zacząłem odpalać $.ajax "z ręki", zamiast via framework, co było nudne i zostawiało za małą swobodę). Moją uwagę przykuła technika jsonp - z pomocą której można zasysać dane z innych domen, co aż się prosi do wykorzystania z moją usługą danych. Sęk w tym, że chyba brakuje tam skutecznego mechanizmu uwierzytelniania. Chyba że jest, a ja o nim nie wiem (IMG:style_emoticons/default/smile.gif)

Póki co, chyba jednak zostanę przy tym proxy - generuje minimalny narzut, może to po prostu moje paranoiczne nawyki z programowania C64 wpuściły mnie w kanał tego tematu (IMG:style_emoticons/default/smile.gif) Może narzut proksiaka jest faktycznie pomijalnie mały.
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: 15.10.2025 - 22:10