• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zabezpieczenie folderu z plikami pdf

0 głosów
126 wizyt
pytanie zadane 9 października 2017 w PHP, Symfony, Zend przez Maciejunio Nowicjusz (180 p.)
Witajcie mam pytanie odnośnie zabezpieczenia plików.

Piszę sobie pewną aplikacje i generuje sobie w niej raporty w postaci pdf które zapisują sie w folderze w którym znajduje się strona. Chciałbym to zabezpieczyć tak, żeby niezalogowany użytkownik nie mógł zobaczyć pdf wpisująć w adresie przeglądarki np localhost/raporty/1.pdf

2 odpowiedzi

0 głosów
odpowiedź 9 października 2017 przez efiku Maniak (74,980 p.)
Metoda łatwa, najmniej roboty:
Niech nazwy plików będą jakoś unikalne i dostępne przez jakiś czas na serwerze.

Metoda bardziej zaawansowana:
Trzymać pliki pdf wyżej niż główny katalog strony i zaciągać je za pomocą http://php.net/manual/en/function.fpassthru.php sprawdzając czy użytkownik ma odpowiedni token.
komentarz 9 października 2017 przez Maciejunio Nowicjusz (180 p.)
A co jeśli chciałbym ten raport otworzyć po roku np?

Pierwszy sposób raczej odpada, drugi zaraz zobacze
komentarz 9 października 2017 przez xandros Nałogowiec (29,830 p.)
Hmm... a jakby tak w katalogu z pdfami wymagac autoryzacji? basic auth (wiem, staroć, ale easy to do)

Jeśli apache, to jedna derektywa(?) w .htaccess, dodanie .htpasswd i gotowe.
Jeśli nginx, to jedna derektywa w ustawieniach serwera, dodanie .htpasswd i gotowe.
0 głosów
odpowiedź 9 października 2017 przez Assasz Nałogowiec (29,010 p.)

Może to rozwiązanie pomoże?

Oprócz tego jest jeszcze jedno dość proste rozwiązanie, lecz jedynie dla określonych użytkowników. Autoryzacja poprzez .htaccess i .htpasswd.

Najpierw wpisujesz taką komendę:

Dla XAMPPa:

/xampp/apache/bin/htpasswd.exe -c NAZWA_UZYTKOWNIKA

Linux:

htpasswd -c /sciezka/do/pliku/.htpasswd NAZWA_UZYTKOWNIKA

-c powoduje utworzenie nowego pliku .htpasswd przechowującego nazwy użytkowników i ich hasła, jeśli chcesz dodać nowych użytkowników to po prostu omiń ten przełącznik. Po tej komendzie zostaniesz poproszony o podanie hasła dwa razy dla swojego użytkownika. Plik .htpasswd będzie się znajdował od tej pory w tym katalogu, który określiłeś w komendzie (dla XAMPPa to bedzie /xampp/apache/bin/), możesz go przenieść gdzie indziej, tylko nie do katalogu dostępnego z poziomu webu (htdocs).

Potem dodajesz to do swojego pliku .htaccess:

<FilesMatch "\.(pdf)$">
    AuthType Basic
    AuthName "Restricted File"
    AuthUserFile sciezka/do/pliku/.htpasswd np. C:/xampp/apache/bin/.htpasswd
    require valid-user
</FilesMatch>

Dzięki temu każdy, kto będzie chciał wejść do pliku PDF będzie musiał podać swoją nazwę użytkownika (istniejącą w pliku .htpasswd) i hasło.

komentarz 10 października 2017 przez Maciejunio Nowicjusz (180 p.)
Takie zabezpieczenie już robiłem, tylko nie chce aby użytkownik musiał za każdym razem wpisywać bo jest to uciążliwe

Podobne pytania

0 głosów
0 odpowiedzi 20 wizyt
pytanie zadane 21 czerwca w Grafika i multimedia przez vilano Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 14 wizyt
0 głosów
0 odpowiedzi 20 wizyt
pytanie zadane 13 czerwca w PHP, Symfony, Zend przez michal_php Bywalec (2,380 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

64,866 zapytań

111,327 odpowiedzi

234,208 komentarzy

46,729 pasjonatów

Przeglądających: 153
Pasjonatów: 1 Gości: 152

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...