Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> $_get problem
homik363
post 6.01.2010, 19:38:58
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 1
Dołączył: 23.11.2009

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


Witam mam pytanie jak można się zabezpieczyć przed zmiana wartości GET przez użytkownika
np. użytkownik znajduje się na stronie
index.php?akcja=zobacz_raporty&akcja2=statystyki&rodzaj=linki&id=6
ale żeby nie mógł wejść na stronę
index.php?akcja=zobacz_raporty&akcja2=statystyki&rodzaj=linki&id=8
Go to the top of the page
+Quote Post
Spawnm
post 6.01.2010, 19:40:37
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




nie da się.
Możesz sprawdzać wartości get i jak są zakazane czy coś to robisz przekierowanie na inną stronę.
Go to the top of the page
+Quote Post
darko
post 6.01.2010, 19:41:16
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Sesje, $_POST, cokolwiek byle nie $_GET. Jeśli już musi być get to sprawdzaj typ wartości ew. wymuszaj określony typ i sprawdzaj czy wartość jest poprawna (mieści się w określonym przez Ciebie zakresie, tudzież puli wartości etc.).


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
homik363
post 6.01.2010, 19:59:22
Post #4





Grupa: Zarejestrowani
Postów: 56
Pomógł: 1
Dołączył: 23.11.2009

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


a czy można jakoś przypisać kilka wartości $_GET do danego użytkownika?
Go to the top of the page
+Quote Post
erix
post 6.01.2010, 20:09:21
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Przecież w GET, to normalna zmienna. winksmiley.jpg

A jeśli zostanie podana kilkukrotnie - o ile pamiętam, to była uwzględniana ostatnia wartość. Wyjątkiem jest zmienna[] - wtedy otrzymasz tablicę, ale to nie zmienia faktu, że jak typujesz na określony typ, to wówczas takie zagranie nic nie da. winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Mephistofeles
post 6.01.2010, 20:13:05
Post #6





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


if($_GET['id'] != 8)...

Jeśli chcesz coś ograniczyć, to po stronie serwera, a nie baw się w blokadę zmiany adresu (co i tak jest niemożliwe).
Go to the top of the page
+Quote Post
thek
post 6.01.2010, 21:20:47
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nie zablokujesz możliwości zmiany adresu userowi, bo on widzi go jawnie i ma możliwość jego zmiany. Możesz jedynie sprawdzać czy ma prawo do zdefiniowanych w GET działań. Przykładowo mam funkcję helpera, która na podstawie uzyskanych z bazy lub sesji danych tyczących poziomu uprzywilejowania zezwala mi na akcję lub przekierowuje do strony bazowej dla danego typu usera i zawsze ją wywołuję na początku skryptu php. Ma uprawnienia? Skrypt przejdzie do następnej instrukcji w kodzie. Brak uprawnień - redirect. Zazwyczaj jest ona przy jakichś akcjach w kontrolerze, ale nie tylko. W ten sposób mam przykładowo menu porobione. W widoku uzależniam wyświetlanie pozycji od uprawnień. Zwykłe wchodzą wszystkie, ale pewne funkcjonalności wyświetlam tylko gdy jest określony typ uprawnień lub określona grupa. To samo mam przy akcjach. Nawet jeśli ktoś z palca wpisze prawidłową ścieżkę prowadzącą do usuwania lub widoku edycji zasobu to kontroler wyłapie mi to i wywali go do jego strony bazowej w portalu lub innej zdefiniowanej. Nawet admin w moich projektach nie ma pełnej władzy, gdyż wystąpiła by niezgodność hashy właściciela zasobu i administratora (a po co admin ma grzebać w czyichś plikach?). Inna sprawa, że admin ma prawo przejęcia konta i w takiej sytuacji user traci do niego dostęp, a admin staje jego właścicielem, co pozwala je modyfikować. Takie zabezpieczenie przed co większymi idiotami, których niestety masę w necie.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 21:48