homik363
6.01.2010, 19:38:58
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
Spawnm
6.01.2010, 19:40:37
nie da się.
Możesz sprawdzać wartości get i jak są zakazane czy coś to robisz przekierowanie na inną stronę.
darko
6.01.2010, 19:41:16
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.).
homik363
6.01.2010, 19:59:22
a czy można jakoś przypisać kilka wartości $_GET do danego użytkownika?
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.
Mephistofeles
6.01.2010, 20:13:05
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).
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.