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
greycoffey
post
Post #2





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

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


Wykazałem już, że nie ma sensu ukrywać inaczej tego, jeśli to ma być dostępne dla każdego, kto zna link. Jeśli potrzeba zaimplementować autoryzację, możemy stosować to samo, tylko przed tym dodać id użytkownika i jakiś unikalny dla danego użytkownika kod (aby 1/20452.pdf nie było tym samym co 2/20452.pdf) linkujący na prawidłowy dokument.
Go to the top of the page
+Quote Post
pyro
post
Post #3





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(greycoffey @ 20.04.2012, 22:35:30 ) *
Wykazałem już, że nie ma sensu ukrywać inaczej tego, jeśli to ma być dostępne dla każdego, kto zna link. Jeśli potrzeba zaimplementować autoryzację, możemy stosować to samo, tylko przed tym dodać id użytkownika i jakiś unikalny dla danego użytkownika kod (aby 1/20452.pdf nie było tym samym co 2/20452.pdf) linkujący na prawidłowy dokument.


Jeśli była by autoryzacja to nie ma najmniejszego sensu robić tego poprzez podawanie bezpośredniego linka do pliku, tylko poprzez skrypt.

Cytat
Inna sprawa, że waląc brute-force, drzesz każdy napotkany plik trafiony. Czyli nie masz 1 trafienie na każdą teoretyczną możliwość ale zapewne dziesiątki lub setki, zależnie ile faktur ma klient. Jeśli zaś masz jeden katalog dla wszystkich klientów to brucik zedrze masę plików od masy ludzi. A zauważ, że faktury zawierają dane osobowe i za coś takiego można jednak "beknąć".


Załóżmy, że takich faktur znajduje się na serwerze i milion a hash w linku jest na podstawie MD5.

|A| = 1 000 000

|Ω| = 36^32 = 6.33402867 × 10^49

P(A) = |A| / |Ω| = 1.57877404 × 10^(-44)


Cytat
to brucik zedrze masę plików od masy ludzi


Jeżeli ktoś brutem trafiłby chociaż JEDEN plik to ja na jego miejscu zająłbym się grą w LOTTO, bo chyba by trafił szóstkę kilka razy pod rząd.
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: 16.10.2025 - 01:38