Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $_get problem
Forum PHP.pl > Forum > PHP
homik363
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
nie da się.
Możesz sprawdzać wartości get i jak są zakazane czy coś to robisz przekierowanie na inną stronę.
darko
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
a czy można jakoś przypisać kilka wartości $_GET do danego użytkownika?
erix
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
Mephistofeles
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).
thek
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.