![]() |
![]() |
![]()
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? |
|
|
![]() |
![]()
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). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
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ą. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 18:22 |