ďťż
Podstrony
|
telcocafeSprawa wygląda tak:Pobieram z bazy x grup użytkowników które ma przypisane użytkownik logujący się. Każdej grupy w formacie - tych cyfr może być więcej i ma być więcej. $g1 = 1351; $g2 = 1317; $g3 = 6746; W tym przykładzie akurat zostały pobrane 3 grupy. Każda cyfra odpowiada uprawnieniu, na przykład do edycji niusów na stronie. Chcę z tych zmiennych zawierających uprawnienia wyciągnąć większe wartości w tym przykładzie wyglądało by to tak: $g1 = 1351; $g2 = 1317; $g3 = 6746; Czyli nasza zmienna sesyjna z uprawnieniami to $zmienna = 6757; Czy istnieje jakaś funkcja która jest w stanie porównać te ciągi cyfr i zwrócić najwyższymi cyframi w danym rzędzie ? Nie wiem dokładnie o co chodzi z tym wyciąganiem ale: <?php $liczba = 32345; //przykladowa $raz = 0; while($tablica[] = substr($liczba, $raz, 1)) $raz++; ?> I teraz w tablicy $tablica masz wszystkie cyfry... I wyciągasz większe... chociaz nie wiem czy o to Ci chodziło ;) Ehh nie nie o to chodziło. Nie wiem jak mam bardziej łopatologicznie to wyjaśnić. masz dość zamotany system uprawnień ;) nie lepiej stosować tekstowe oznaczenia i pole tekstowe, np: news_edit|news_add|article_add i sprawdzać czy dana grupa czy dany user ma dane "uprawnienie". Owszem jest on trochę zamotany ale czytając kod wordpressa i php-fusion dostałem szału bo wyłuskanie z tych cmsów potrzebnych infomacji graniczy z cudem. Uprawnienia będą przechowywane w zmiennej sesyjnej a dostęp do nich będzie miała metoda check_priv przyjmująca dwa parametry numer uprawnienia ( zdefiniowany stała w konfigu strony ) i minimalną liczbę jaka będzie musiała być żeby dostęp do zasobu został przyznany. Wydaje mi się że dosyć to klarowne i jasne jest. Byłbym bardzo zobowiązany gdyby mi ktoś powiedział jak mam przefiltrować te cyfry i sprawdzić która jest większa. AFAIK taki system jest zaimplementowany w PHP-Fusion, więc może tam zajrzyj w kod. sprawdzanie uprawnień nie powinno bazować na danych "po stronie" użytkownika. Po potwierdzeniu zalogowania danego użytkownika powinieneś sprawdzić w bazie czy ma dostęp do danej czynności. Przechowywanie kluczowych danych w sesjach i cookie wiąże się z niebezpieczeństwem możliwości modyfikacji czy kradzieży cookie/sesji. Poższa koncepcja z cyframi dla mnie jest całkowicie przekombinowana - przestawianie i szukanie większych cyfr. Potrzebujesz więcej kodu, większa szansa na błędy i luki. Proste jest piękne. |
|||
Sitedesign by AltusUmbrae. |