[php] pobieranie plikow tylko dla uwierzytelnionych

Odpowiedz Nowy wątek
csh
2007-07-27 13:48
csh

Rejestracja: 13 lat temu

Ostatnio: 8 lat temu

0

Tylko uwierzytelnieni uzytkownicy maja mozliwosc sciagania niektórych plików. Jednak możliwość ma być dodawana i odbierana. Jednak jak juz dam ktoremus z uzytkownikow mozliwosc pobierania to on moze zapisac URL pliku i jak odbiore mu mozliwosc to i tak ma URL i sobie pobierze nie bedac uwierzytelnionym. Macie jakis pomysl jak to obsluzyc? Plikow nie moge przenosic ani lepiej im nie zmieniac nazw na hashe.

z gory dzieki za pomysly


szczególnie pomogli mi: johny_bravo, chodnik, J2ME

Pozostało 580 znaków

2007-07-27 13:53

Rejestracja: 14 lat temu

Ostatnio: 8 lat temu

0

Zarys skryptu php dzialajacego tylko dla zalogowanych:

header("Content-Type: typ pliku");
echo file_get_contents("plik.cos");

i juz. Sciezki do pliku znac nie bedzie, wiec tylko po zalogowaniu przegladarka zwroci wlasciwa tresc pliku do pobrania.


You need to learn how to walk
before you can run

Pozostało 580 znaków

csh
2007-07-27 13:56
csh

Rejestracja: 13 lat temu

Ostatnio: 8 lat temu

0

zgadzam sie, tylko ze ta beda pliki .xls .cad itp i on musi miec mozliwosc zapisu na dysk :(


szczególnie pomogli mi: johny_bravo, chodnik, J2ME

Pozostało 580 znaków

2007-07-27 14:10

Rejestracja: 14 lat temu

Ostatnio: 8 lat temu

0

No to tak wlasnie zadziala. Jak podasz wlasciwy typ, to przegladarka zareaguje sciagnieciem, jezeli domyslnie taki plik sciaga. Np. wiekszosc przegladarek sciagnie .zip, a wyswietli pdf i jpg. Zalezy od ustawien przegladarki. Ale wiekszosc przegladarek sciaga nieznane typy (czyli wszystko co nie jest obrazkiem, plikiem .txt., pdf, itp - dla ktorych sa jakies standardowe akcje okreslone).


You need to learn how to walk
before you can run

Pozostało 580 znaków

csh
2007-07-27 14:11
csh

Rejestracja: 13 lat temu

Ostatnio: 8 lat temu

0

aha rozumiem, dzieki wielkie


szczególnie pomogli mi: johny_bravo, chodnik, J2ME

Pozostało 580 znaków

csh
2007-08-09 01:20
csh

Rejestracja: 13 lat temu

Ostatnio: 8 lat temu

0

przetestowalem Twój sposób
jest jeden mankament:
jezeli stosuje

header("Content-Type: application/pdf");
echo file_get_contents("plik.pdf");

czyli dla plików pdf, a ja np. mam ustawione automatyczne pobieranie pdfów na hdd a nie otwieranie w przegladarce. Przegladarka proponuje pobranie pliku który zawiera kod pdf-a ale nazywa sie download.php (czyli plik ktory zwiera wyzej wymieniony kod)

przez co użytkownik dostaje to co powinien ale nie znajac prawidlowego rozszerzenia nie moze otworzyc pliku...

da się jakoś wymusic na przegladarce propozycje pobrania oryginalnej nazwy pliku pdf?

mam nadzieje ze piszę w miare jasno


szczególnie pomogli mi: johny_bravo, chodnik, J2ME

Pozostało 580 znaków

2007-08-09 03:01

Rejestracja: 14 lat temu

Ostatnio: 8 lat temu

0

Przyklad z php.net

// przesyłamy plik PDF
header('Content-type: application/pdf');

// ustawiamy jego nazwę na downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// treść znajduje się w pliku original.pdf
readfile('original.pdf');

You need to learn how to walk
before you can run

Pozostało 580 znaków

2007-08-09 13:38

Rejestracja: 16 lat temu

Ostatnio: 3 lata temu

0

Ale przy takim rozwiązaniu jeśli ktoś będzie miał adres, to i tak sobie ściągnie ten plik i tak. Jak się przed tym zabezpieczyć?


Nadzieja...

Pozostało 580 znaków

2007-08-09 13:49

Rejestracja: 14 lat temu

Ostatnio: 8 lat temu

0

Jaki adres? To skrypt wysyla plik, wiec moze zdecydowac czy go wyslac (zalogowany) czy nie.


You need to learn how to walk
before you can run

Pozostało 580 znaków

2007-08-09 14:22

Rejestracja: 16 lat temu

Ostatnio: 3 lata temu

0

Chodziło mi o to, jest plik /upload/pdf/moj.pdf oraz skrypt /download.php?plik=nazwa_pliku, który kontroluje, czy można ściągnąć plik, czy nie. Ale jeśli użyszkodnik wpisze www.moja.strona.pl/upload/pdf/moj.pdf, to po ptakach - skrypt zostanie ominięty. O to mi chodziło :)


Nadzieja...

Pozostało 580 znaków

2007-08-09 14:25

Rejestracja: 14 lat temu

Ostatnio: 8 lat temu

0

No to nie dajesz pliku w dostepnym katalogu i juz ;)


You need to learn how to walk
before you can run

Pozostało 580 znaków

Odpowiedz

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