-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed2.plix.pl!news.supermed
ia.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Marek <p...@s...com>
Newsgroups: pl.comp.www
Subject: Re: Ajax - kwestie bezpieczeństwa
Date: Wed, 19 Dec 2012 12:18:50 +0100
Organization: ATMAN - ATM S.A.
Lines: 33
Message-ID: <kas7r3$32s$1@node2.news.atman.pl>
References: <kancal$fhc$1@node2.news.atman.pl> <s...@t...dom.local>
<kaqq5q$okr$1@node2.news.atman.pl> <kaqq8c$okr$2@node2.news.atman.pl>
<s...@t...dom.local>
NNTP-Posting-Host: 89-69-209-185.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1355915939 3164 89.69.209.185 (19 Dec 2012 11:18:59 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 19 Dec 2012 11:18:59 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0
In-Reply-To: <s...@t...dom.local>
Xref: news-archive.icm.edu.pl pl.comp.www:401681
[ ukryj 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-01-01 Już nie płoną
- 2025-01-01 Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- 2025-01-01 Co tam u Was
- 2025-01-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z bibl. Qt) i D.
- 2025-01-01 Gdańsk => Delphi Programmer <=
- 2025-01-01 Łódź => Programista Full Stack .Net <=
- 2025-01-01 Żerniki => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-01 Wrocław => Specjalista ds. Sprzedaży <=
- 2024-12-31 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-01 Przypomnienie: Mini Netykieta polskich grup dyskusyjnych wer. 3.2.2
- 2024-12-31 Zamykanie konta dziecka.
- 2024-12-31 Czy apka bankowa to gra komputerowa?
- 2024-12-31 Szukam: czujnik ruchu z możliwością zaączenia na stałe
- 2024-12-31 Warszawa => Solution Architect (Java background) <=