Wpis z mikrobloga

#programowanie #php
W .htaccess włożyłem:

Options -Indexes

plików już nie da się przeglądać na moim serwerze www.
Teraz pytanie czy jak będę miał pliki pdf w folderze o nazwie pdf (normalnie w plikach htdocs), ale w formacie:

ImieNazwisko_94c3149ca5e16151.pdf (ciąg oczywiście losowy)

to istnieje jakaś szansa, że ktoś sobie podglądnie mimo wszystko pliki da radę pobrać bez znajomości nazw pliku?
Pliki te powinny być normalnie możliwe do pobrania po zalogowaniu (wtedy użytkownik zaczyta z bazy nazwę pliku).

Będą to wrażliwe dane (aż po serię dowodu osobistego). Jeżeli to rozwiązanie się nie sprawdzi i ktoś zna proste lepsze rozwiązanie to proszę o wskazówki jak szukać.
  • 7
@bartosz325: a musisz to tak bez uwierzytelnienia ryjem w internet wystawiać? tak na szybko:

1. http basic auth (najprostsze i mało wygodne, zależy komu to wystawiasz)

2. jakaś appka (np. w php), która uwierzytelni usera i potem mu wyserwuje plik (spoza htdocs)

3. jw. ale z X-Sendfile (żeby nie zajeżdżać serwera bez potrzeby; serwowanie statyków z appki jest słabe)
@wsciekly_buddysta:
Zrobilem tak:
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="ImieNazwisko.pdf"');
readfile('pdf5bfb985e04563448/ImieNazwiskob4389a8e496693c3.pdf');
Nie widać wtedy nazwy folderu, a adres pobierania jest taki jak strona gdzie wykonywane są te nagłówki. Oczywiście nazwę pliku będzie sobie użytkownik zaczytywał z bazy. Jedyną wadą jest to, że ktoś kiedyś może zgadnie nazwę folderu, ale na to jest mniejsza szansa niż wygranie w lotka. Potem jeszcze by musiał wymyślić nazwy plików.

@ edit
Jeszcze dodałem zabezpieczenie folderu
@bartosz325: po co w ogóle trzymasz to wewnątrz htdocs? jak nie możesz gdzieś indziej (bo hosting kupa) to daj Deny from all w .htaccess to się w ogóle do tych plików nie dostaniesz z pominięciem appki

btw, oczywiście przed tymi headerami itp. jest sprawdzenie czy user jest upoważniony do ściągnięcia pliku, prawda?