Wpis z mikrobloga

Mam stronę z logowaniem, na której w zależnosci od typu usera po zalogowaniu wyświetlane są różne dane, pliki(korzystam z Advanced Custom Fields). O ile z danymi nie ma problemu, to z plikami już jest. Ustawiłem tak, że wp-content nie można listować, ale co w przypadku gdy ktoś trafi nazwę pliku. Mam w zasadzie jakieś pomysły na to, ale czy jest jakieś gotowe rozwiązanie, żeby to zabezpieczyć?

Co do pomysłów to:
1) Sprawdzanie przy wyświetlaniu pliku, czy user ma do niego uprawnienia. Trochę ciężkie rozwiązanie, bo trzeba na podstawie załącznika wyszukiwać odpowiednie pola ACF (nie wiem jak są połączone z załącznikami), a robienie tego dla każdego pliku jest niezbyt efektywne.
2) Losowe nazwy plików, tyle, że ciężko zrobić to tylko dla tych chronionych plików.

Ktoś coś powie na ten temat?

#webdev #wordpress
  • 2
@sarveniusz: ja robie cos takiego w mojej wtyczce http://tradematik.pl jak sprzedawca wgra jakis plik do sprzedazy. on jest zwyczajnie trzymany w wp-content wlasnie, nawet nie wylaczam listowania.

jednak w momencie wgrywania pliku na serwer szyfruje go za pomoca mcryptencrypt

nigdzie nie odnosze sie bezposrednio do pliku (nie ma http://.../wp-content/.../nazwa-pliku.jpg) a wyswietlam go przez php (http://.../wyswietl-plik.php?plik=nazwa.jpg). wyswietl-plik.php sprawdza czy osoba ma prawo go wyswietlic i jesli tak to pobiera zawartosc
@sarveniusz: po prostu niech htaccess/nginx traktuje te pliki jako php, php sprawdza czy user ma uprawnienia i wczytuje realny plik znajdujący się na dysku i zwraca pobieranie do niego, tak działają te wszelkie serwisy gdzie masz konta premium do pobierania