-
Data: 2012-12-19 12:18:50
Temat: Re: Ajax - kwestie bezpieczeństwa
Od: Marek <p...@s...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2012-12-18 23:48, Tomek Kańka pisze:
> Jedną z zasad pisania bezpiecznych serwisów webowych jest "nie ufaj temu
> co przychodzi z przeglądarki".
Stąd mój post. Dlatego właśnie zastanawiałem się jak to w przypadku
Ajaxa działającego w sposób jawny po stronie przeglądarki zrealizować.
> Czyli jeśli przychodzi request "pokaż
> rekord id=101", to sprawdzasz, czy ten kto wysłał to zapytanie ma prawo
> do rekordu 101, choćby z logiki aplikacji wynikało, że odpowiedni link
> wyświetla się tylko uprawnionym uzytkownikom. Na każdym kroku
> zakłądasz, że ktos mógł podmenić nr sesji, zawartośc cookie, parametry
> itp.
>
Tak, właśnie to wszystko chcę uwzględniać + Ajax, który komplikuje
jeszcze bardziej. W omawianym hipotetycznym przykładzie muszę do Ajaxa
przesłać 2 parametry: ID grupy transakcji i ID konkretnej transakcji po
to aby potrafił on zapytać się systemu o dane (załóżmy, że oba te ID są
niezbędne). Tymczasem to samo rozwiązanie bez Ajaxa, w samym PHP, wymaga
ujawnienia wyłącznie ID transakcji gdyż w sesji mogę pamiętać ID grupy
transakcji. No i w tym momencie jeśli ktoś podmieniłby ID transakcji, to
PHP stwierdzi, że w ramach danej grupy nie ma takiej transakcji.
Tymczasem w Ajaxie ktoś może podmienić oba te ID i trudno jest
weryfikować czy autoryzować takie zapytanie czy też nie.
A tak na marginesie: rozwiązałem w PHP (ale nie w Ajaxie) kwestie
bezpieczeństwa w taki sposób, że generuję do każdego formularza losowy,
zmienny za każdym razem, ID transakcji. Jeśli ktoś podmieni ID sesji, to
numer transakcji nie będzie się pokrywał z innym - wygenerowanym podczas
innej sesji. Prosty zabieg, który ucina problemy weryfikacji operacji.
Następne wpisy z tego wątku
- 19.12.12 21:51 Tomek Kańka
- 19.12.12 23:35 Marek
- 20.12.12 17:24 Tomek Kańka
- 20.12.12 21:13 Marek
- 20.12.12 23:12 Tomek Kańka
- 21.12.12 11:06 Marek
- 21.12.12 11:10 Marek
- 21.12.12 12:15 Tomasz Sowa
- 21.12.12 19:38 Marek
- 22.12.12 13:42 Tomasz Sowa
- 22.12.12 16:39 Marek
- 22.12.12 17:02 Tomasz Sowa
- 22.12.12 19:37 Izaak Goldstein
- 22.12.12 21:38 Borys Pogoreło
- 22.12.12 21:42 Borys Pogoreło
Najnowsze wątki z tej grupy
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
Najnowsze wątki
- 2025-02-14 Zdalne załączanie grzałki bojlera elektrycznego
- 2025-02-14 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-02-14 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-02-14 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-02-14 Warszawa => Data Engineer (Tech Leader) <=
- 2025-02-14 Czy ma sens grupa news:pl.soc.polityka-prawna ? :-)
- 2025-02-14 e-paper
- 2025-02-14 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-14 Warszawa => System Architect (Java background) <=
- 2025-02-14 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-14 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-02-14 Re: Dlaczego nie było (pełzającego) zamachu stanu? Bo minister Bodnar już "zawiesił" prokuratora Ostrowskiego
- 2025-02-14 e-paper
- 2025-02-14 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-14 Warszawa => International Freight Forwarder <=