![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 1 Dołączył: 5.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
Hej!
Chciałem napisać skrypt do zarządzania plikami w którym nie byłoby ograniczeń co do rodzaju pliku, wobec tego żaden z nich nie może być dostępny pod direct link. System powinien też móc ograniczyć możliwość ściągnięcia pliku: gościom/użytkownikom/grupom. Najlepszą opcją zakładam, że byłoby secure_download(nginx) lub mod_secdownload (lighthttpd), ale zakładam, że nie mam dostępu do webserwera a provider jest siusiakiem i nie będzie robił wyjątków ani nie dogra tego. Chciałbym mieć możliwość wrzucania dowolnych rodzajów plików. Pomysł jest następujący. Tworzę katalog /files/ który dostaje Auth (zabezpieczenie direct linkowania, jako Auth rozumiem mod_auth w apache lub odpowiednik). plik dl.php?path=__________ będzie służył do wyciągania plików z katalogu /files/
Plik sprawdza poziom dostępu wrzucając użytkownika do oddzielnego katalogu (oczywiście będzie to rozwiązane mądrzej, ale zamysł ten sam -- przydzielanie dostępu do dir po sesji), geta też nie będzie, ale escape`y zostają. Listowanie plików z bazy danych (nie z listowania dir). To taki szybki zamysł, a może mamy coś lepszego ? (IMG:style_emoticons/default/smile.gif) Dzięki! Ten post edytował Morfi777 5.12.2011, 17:31:33 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym był za listowaniem plików z bazy bo przy tym masz pełno możliwości kontroli dostępu. Do tego, zamiast podawać ścieżkę do pliku i jego nazwę możesz przekazywać id. Czyli linki byłyby mniej jawne, np dl.php?file=28374278234. Ścieżkę do pliku odnajdziesz sobie w bazie po id, przy okazji sprawdzisz uprawnienia itd. Na koniec będziesz miał lepszą kontrolę tego co jest w systemie, kto do czego ma prawa itd. Jakiekolwiek statystyki będą dużo łatwiejsze. Problem może się pojawić tylko wtedy, gdy ktoś ręcznie będzie mieszał w bazie lub na dysku.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 09:18 |