Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie wszystkich plików z folderu bez znania ich nazw
athabus
post
Post #1





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam,

pracuję nad skryptem, który ma udostępniać możliwość pobrania faktury z serwera. Skrypt będzie trochę bardziej złożony, ale dla uproszczenia załóżmy, że plik ma nazwę składającą się z 20 znaków (losowych). Klient dostaje link do swojego pliku, który znajduje się w folderze rok/miesiąc/dzień/nazwa_pliku.pdf

I tu rodzi się pytanie - czy istnieje możliwość, że ktoś pobierze wszystkie pliki z danego folderu (czyli potencjalne faktury innych klientów) nie znając ich nazw - oczywiście pomijając atak typu brute-force, bo przy takiej długości nazwy trafienie w nazwę pliku wymagałoby miliardów zapytań do serwera?

A może macie jakiś pomysł na bezpieczniejsze umożliwianie pobrania faktur?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
athabus
post
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedzi. Nawet ciekawie się temat rozwinął.

Co do brute-force, to raczej się tym nie przejmuje - co prawda nie wykonałem taki obliczeń, jak powyżej, ale ogólnie wiadomym jest, że żaden serwer nie jest nawet w stanie przyjąć takiej ilości żądań aby trafić w 20znakowy losowy ciąg (np. 20 znaków z sha).

U mnie sytuacja wygląda tak, że klient (nie koniecznie mający swoje id, bo także firma przyjmuje zamówienia np. przez telefon oraz konta anonimowe) dostaje zamówienie, a w nim umieszczone hasło ~5 znaków. Logowanie odbywa się poprzez wpisanie nr zamówienia + tego hasła. ALE chcę również mieć możliwość generowania bezpośredniego linku do faktury, tak aby klientowi móc wysłać link mailem bez konieczności logowania. To dlatego, że z doświadczenia wiem, że zalogowanie się do systemu często przerasta niestety ludzi - np. ktoś zamiast 0 wpisuje uparcie O itp. Może to i śmieszne, ale takie są fakty, a nie chcę potem dostać jakiegoś donosu do US, że do zamówienie nie ma faktury etc.

Mój plan jest w taki, że będę tworzył taką strukturę
/rok/miesiac/dzien(+jeszcze moze doloze tu 4 losowe znaki, aby nazwy folderow tez byly bardziej losowe)/20znakowa_nazwa_pliku_zupelnie_losowa.pdf

czyli np.

/2012/04/16a46d/ka83AU9o09mjKKipo5Q2.pdf

Docelowa zawartość każdego folderu to max ~1000 faktur (to już z nawiązką, bo obecnie pewnie jakieś 100-200).

Pytanie więc brzmi, czy konfigurując .htaccess zabraniając listowanie zawartości folderu mogę uznać ten system za bezpieczny (oczywiście pomijają ryzyko brute-force, którego samo wystąpienie jest bardzo mało prawdopodobne, a powodzenie chyba raczej niemożliwe).

Go to the top of the page
+Quote Post
greycoffey
post
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Tak. (IMG:style_emoticons/default/wink.gif)
Możesz nawet przechowaywać faktury poniżej DocumentRoot (or sth) i przez jeden skrypt PHP serwować plik, ale to chyba przerost formy nad treścią.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 18:22