Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Panel admina
Forum PHP.pl > Forum > PHP
SoulRipper
Witam

Pracuje nad panelem admina do swojego 1 CMSa i mam pytanie odnsnie bezpieczenstwa. Mam juz zaplanowane jakie opcje bedzie mial ow panel itd, ale
nie wiem jaka technika go wykonac.
Myslalem,ze mozna by:
1.Zrobic 1 plik ktory by zawieral wszystkie opcje panelu w postaci funkcji.Byly by one wywolywane poprzez zmienne przekazywane przez url. bezposrednio np. action=link_add i pozniej:
eval($_GET['action'].())(nie pamietam jak do doklandnie powinno byc).Albo tez zrobic zeby przekazywac przez url identyfikator np. action=4 i na sronie docelowej byloby od cholery ifow

2.Drugi pomysl imo bardziej racjonalny to oprzec to wszystko na plikach.
Przekazywac w url nazwe pliku bez rozszerzenia i pozniej to includowac. Tylko znowu trzeba dodawac do kazdego pliku z osobna funkcje sprawdzania czy user jest zalogowany, czy tez nie. A tych plikow troche jest.
Wpadlem tez na pomysl ze mozna dac te wszystkie pliki z opcjami do osbnego kat.
i zabezpieczyc .htaccess oraz pozwolic na includowanie ich wylacznie ze strony zawierajacej linki do odp. opcji(chociaz nie mam pojecia jak to zrobic bo referer nie podziala chyba)

To wszystko z tych bardziej sensownych rzeczy jakie udalo mi sie wymyslec :]
Bede wdzieczny jezeli ktos by sie zechcial podzielic swoimimi doswaidczeniami tongue.gif

Pozdrawiam
strife
Witam,

Myślę że drugi pomysł jest lepszy, robisz sobie katalog powiedzmy admin/main, w tym katalogu trzymasz pliki o jakiś tam nazwach np.
Kod
news_admin.php
arts_admin.php
users_admin.php

Następnie robisz sobie do tego loader jakiś który sprawdza na podstawie zmiennej w pasku czy taki plik istnieje, tutaj możesz się posłużyć explode aby było ładniej. Czyli plik admin.php
  1. <?php
  2.  
  3. // tutaj funkcja sprawdzajaca czy dany user ma prawa.
  4. $intVar = explode( &#092;"_\", $_GET['act'] );
  5.  
  6. if ( file_exists( 'admin/main/' . $intVar[0] . '_admin.php' ) )
  7. {
  8.  require_once( 'admin/main/' . $intVar[0] . '_admin.php' );
  9. }
  10. else{
  11. die(); // 
  12. }
  13.  
  14. ?>

Przykład, ?act=news. - zostanie wyświetlone zarządzanie newsami.

Pozdrawiam!
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.