eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.www › Problem z bezpieczeństwem danych
Ilość wypowiedzi w tym wątku: 7

  • 1. Data: 2015-01-07 15:49:43
    Temat: Problem z bezpieczeństwem danych
    Od: Marek <p...@s...com>

    Mam pewien problem, który chciałbym zręcznie rozwikłać. Otóż mamy sobie
    CMS, który wyświetla swoją zawartość w postaci dokumentów HTML załóżmy,
    że w postaci:

    www.domena.pl/dokument?id=1
    www.domena.pl/dokument?id=2
    www.domena.pl/dokument?id=3
    ...

    Na którejś z tych stron, powiedzmy ID=2, umieszczamy kod JavaScript,
    który w tle komunikuje się z serwerem (Ajax) i coś tam zmienia w treści
    dokumentu. Aby moduł po stronie serwera zmienił treść właściwego
    dokumentu, to trzeba podać mu ID tego dokumentu. I tu jest problem -
    owszem, to procedury w JS mogę przekazać ID dokumentu, który to dalej
    Ajax w tle przekaże do serwera. Ale w tym momencie każdy może uruchomić
    narzędzia deweloperskie i zmienić ten ID, co będzie skutkowało
    modyfikacją innego dokumentu.

    Drugie rozwiązanie: pamiętać w sesji ID otwartego dokumentu po stronie
    serwera, ale tu też to się nie sprawdzi gdy ktoś otworzy w dwóch oknach
    przeglądarki tą samą sesję.

    Trzecie rozwiązanie: zrezygnować z Ajaxa na rzecz prostych przeładowań
    formularza?

    Czy da się jakoś pozostać przy Ajaxie bez konieczności dorabiania w
    każdym module walidacji danej operacji, tak jak to w PHP<->HTML można
    łatwo zrobić?

    --
    Pozdrawiam,
    Marek


  • 2. Data: 2015-01-07 16:17:13
    Temat: Re: Problem z bezpieczeństwem danych
    Od: Marek <p...@s...com>

    P.S.
    Albo prościej: jak zapewnić aby zapytania do serwera generowane przez
    Ajax dotyczyły ID dokumentu, który jest w danej chwili wyświetlany bez
    możliwości ingerencji użytkownika?


  • 3. Data: 2015-01-07 16:41:10
    Temat: Re: Problem z bezpieczeństwem danych
    Od: "Jordan Szubert" <u...@j...us.to>

    Dnia 07-01-2015 o 16:17:13 Marek <p...@s...com> napisał(a):

    > P.S.
    > Albo prościej: jak zapewnić aby zapytania do serwera generowane przez
    > Ajax dotyczyły ID dokumentu, który jest w danej chwili wyświetlany bez
    > możliwości ingerencji użytkownika?

    może i coś się da wykombinować w tę stronę, ale czemu? jeżeli użytkownik
    ma prawo edytować 1 i 2, to czemu nie akceptować edycji do 1 i 2, a
    odrzucać do 3 niezależnie od tego, czy i kiedy 1 i 2 zostały wysłane do
    użytkownika do oglądania i może edycji?

    --
    Jordan Szubert


  • 4. Data: 2015-01-07 18:54:35
    Temat: Re: Problem z bezpieczeństwem danych
    Od: Marek <p...@s...com>

    W dniu 2015-01-07 o 16:41, Jordan Szubert pisze:

    >
    > może i coś się da wykombinować w tę stronę, ale czemu? jeżeli użytkownik
    > ma prawo edytować 1 i 2, to czemu nie akceptować edycji do 1 i 2, a
    > odrzucać do 3 niezależnie od tego, czy i kiedy 1 i 2 zostały wysłane do
    > użytkownika do oglądania i może edycji?
    >

    W dobrą stronę kombinujesz. Moją intencją jest ograniczenie do edycji #2
    bo nie ma pewności, że użytkownik ma prawo do edycji / wyświetlania /
    edycji / itp #1 i #3. Zabezpieczenie realizuję w tym CMS na poziomie
    formatki każdego dokumentu. Formatka zawiera wstawione specjalne tagi,
    które zastępowane są pracą modułów programowych. Pierwszy z nich zwykle
    bada czy dany użytkownik ma prawo do wyświetlenia danej strony - i jeśli
    nie, to przekierowuje Na "sorry, nie masz uprawnień". Pozostałe moduły
    generują treść itp. Jest tam też JS, który np. pozwala dodawać / usuwać
    obrazki. Jeśli z poziomu JS przekażę w Ajaxie polecenie "usuń obrazek #1
    z w/w dokumentu #2" to dociera ono do elementu PHP nie związanego z
    dokumentem #2 np. ajaxZarzadzaObrazkamiDokumentu.php. Muszę go więc
    jakoś poinformować, że grzebiemy ID #2 i mamy skasować w nim obrazek #1.
    No i jeśli teraz ktoś podmieni w przeglądarce to co Ajax ma wysłać, to
    może w dowolnym innym dokumencie skasować obrazek #1. Musiałbym dublować
    walidację uprawnień w PHP, czego wolałbym uniknąć. Dlatego byłoby
    sensownie "niejawnie" poinformować w/w plik PHP, że działa w kontekście
    dokumentu #2.

    Szukam najprostszego rozwiązania.

    --
    Pozdrawiam,
    Marek


  • 5. Data: 2015-01-07 20:13:36
    Temat: Re: Problem z bezpieczeństwem danych
    Od: Borys Pogoreło <b...@p...edu.leszno>

    Dnia Wed, 07 Jan 2015 18:54:35 +0100, Marek napisał(a):

    > No i jeśli teraz ktoś podmieni w przeglądarce to co Ajax ma wysłać, to
    > może w dowolnym innym dokumencie skasować obrazek #1. Musiałbym dublować
    > walidację uprawnień w PHP, czego wolałbym uniknąć.

    Dlaczego chcesz uniknąć właściwej metody rozwiązania tego problemu?
    Walidacja powinna być przede wszystkim po stronie serwera, sam sobie
    zrobiłeś pod górkę i teraz kombinujesz jak ją usypać jeszcze wyższą.

    --
    Borys Pogoreło
    borys(#)leszno,edu,pl


  • 6. Data: 2015-01-07 23:42:18
    Temat: Re: Problem z bezpieczeństwem danych
    Od: Marek <p...@s...com>

    W dniu 2015-01-07 o 20:13, Borys Pogoreło pisze:


    > Dlaczego chcesz uniknąć właściwej metody rozwiązania tego problemu?
    > Walidacja powinna być przede wszystkim po stronie serwera, sam sobie
    > zrobiłeś pod górkę i teraz kombinujesz jak ją usypać jeszcze wyższą.

    Ale walidacja jest po stronie serwera. Nie chcę tylko jej implementować
    w każdym z modułów po kolei. Jeśli mam np. 5 modułów pracujących na
    jedną stronę WWW, to 5x musiałbym walidować to samo. Straszna
    redundancja kodowa. Wyjaśnię, że walidacja jest uproszczona do zbadania
    czy użytkownik należy do uprawionej do wejścia na stronę WWW grupy. Nie
    ma potrzeby badania uprawnień do poszczególnych operacji.

    Dlatego preferuję rozwiązanie, że jeden moduł programowy odpowiedzialny
    jest za walidację i jest on pierwszym wywoływanym na stronie WWW zanim
    pozostałe dojdą do głosu. To się dobrze sprawdzało w układzie HTML/PHP
    ale Ajax z racji grzebania asynchronicznego w skryptach "trzecich"
    odrywa się od kontekstu.

    --
    Pozdrawiam,
    Marek


  • 7. Data: 2015-01-08 21:28:53
    Temat: Re: Problem z bezpieczeństwem danych
    Od: Marek <p...@s...com>

    Temat rozwiązany. Dziękuję Wam za zainteresowanie :-)

    --
    Pozdrawiam,
    Marek

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: