![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]()
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ę. |
|
|
![]()
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.
|
|
|
![]()
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?
|
|
|
![]()
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.
![]() 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. ![]() -------------------- ![]() 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! |
|
|
![]()
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). |
|
|
![]()
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
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.06.2025 - 21:48 |