ukrycie linków do plików

0

mam takie pytanie bo nie kojarzę czy odpowiedzialne za to jest środowisko programistyczne , w tym przypadku PHP czy jakieś ustawienia na serwerze www.
w jednym z katalogów o nazwie "pdf" przetrzymuję pliki w tym formacie
w kodzie strony w przypadku jeśli chcę któryś otworzyć mam link np
<a href="źródło/pdf/plik1.pdf">zobacz</a>
pełną ścieżkę dostępu widać jednak na pasku stanu np. w IE widać pełną ścieżkę do pliku. Ponieważ przy upload-zie nazywam pliki wg konkretnego schematu wpisując w przeglądarkę ścieżkę do konkretnego pliku mogę go wyświetlić np. nawet ten którego dany użytkownik potencjalnie nie powinien oglądać.

Jak się przed takim czymś zabezpieczyć. Czy da się tak zrobić żeby przeglądarka nie wyświetlała tej ścieżki na pasku stanu ?
jeśli się tak da to czy odpowiedzialne jest za to PHP czy ustawienia serwera?

2

Przeglądarka wyświetla adres linka. Jeśli chcesz, żeby user nie miał dostępu do linków bezposrednio, to musisz to zrobic np w oparciu o PHP + baza danych. Link wtedy by wyglądał <a href="download.php?hash=uytb78GNGLUYG7687">zobacz</a>. Po odpaleniu skryptu będzie on się łączył z bazą, sprawdzał czy istnieje wpis z takim hashem, jak tak to sprawdza jakiego pliku on dotyczy, potem sprawdza czy plik istnieje, ładuje go do skryptu i zwraca do przeglądarki. Pliki możesz trzymać w ogóle poza serwerem http.

1
echo file_get_contents($sciezka);

ale sprawdzi się tylko dla małych plików, dla większych musisz użyć czegoś co nie wczyta całego pliku do pamięci.
i pamiętaj o odpowiednich nagłówkach.

0

Trzeba było tylko ustawić takie coś

 $header="Content-Disposition: attachment; filename=".$a[0].";";
header($header );

1 użytkowników online, w tym zalogowanych: 0, gości: 1