Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zabezpieczenie przed listowaniem folderu dla filemanagera
Forum PHP.pl > Forum > Przedszkole
potreb
Witam, znalazłem w sieci trochę ciekawych file managerów.
Jednak dzisiaj testowałem a raczej antytestowałem jeden i małą sztuczką dostałem się do różnych katalogów, głównie tych cms-owych.
Oczywiście to błąd w aplikacji, ale jak się zabezpieczyć że nieważne co by kombinował użytkownik i tak może jedynie przeglądać np folder upload?
lobopol
htaccess i deny from all?
potreb
A z poziomu PHP, sprawdzanie czy ktoś nie dopisał do ścieżki ../ lub czegoś innego?
Fifi209
basaname używaj na zmiennej, którą dostaniesz od użyszkodnika.
potreb
basename to za mało smile.gif
mortus
Jeśli to jakiś system CMS, to zapewne cała jego obsługa koncentruje się na FrontController-ze (np. plik index.php). Można w tym pliku zdefiniować pewną stałą, a w każdym innym sprawdzać na początku, czy ta stała jest zdefiniowana, jak poniżej:
  1. <?php if(!defined('CTRL_VALUE')) echo 'Brak dostępu!'; ?>

Wtedy każdy plik musi być uruchamiany pośrednio przez index.php. Taki mechanizm stosowany jest np. w Joomli, ale z tego co pamiętam to i userguide Kohany zaleca, a przynajmniej wspomina o takim zabezpieczeniu.
potreb
Takie zebezpieczenie to standard, ale chodzi o to jak dobrze zabezpieczyć katalogi przed listowaniem. Gdy sobie majsterkuje z odnośnikiem a konstrukcja listowania katalogów jest jak konstrukcja cepa czyli ?path=folder, a pod dopisaniu folder/../../../ masz dostęp do lepszych folderów. Także o takie przypadki chodzi.
lobopol
Olać po prostu odnośniki które zawierają .., ./, lub zaczynaj się od /
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.