/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Forhindring af direkte adgang til filer
Fra : Mikkel Gravgaard


Dato : 23-10-02 01:44

Jeg har nogle filer på en Apache webserver (WinNT), som kun må være
tilgængelige via login. Dvs. et evt. direkte link til en fil skal resultere
i en fejl, hvis man ikke er logget ind-
Login-funktionen skal være baseret på en MySQL, så htaccess er umiddelbart
ikke nogen enkel løsning - jeg går mere efter en PHP-baseret løsning.

Jeg har prøvet at lægge filen uden for webserverens rod-bibliotek og så lave
en PHP-fil, som via en Content-type header sørger for at browseren ikke
parser det, den henter fra serveren, men foreslår brugeren at gemme filen,
og en include-funktion, som henviser til den fil, som skal downloades. Men
browseren vil ved denne løsning foreslå at gemme filen med samme navn som
PHP-dokumentet (f.eks. test.php). Er der en løsning på det nævnte, eller er
der en alternativ mulighed?

Mvh.
Mikkel.



 
 
Peter Brodersen (23-10-2002)
Kommentar
Fra : Peter Brodersen


Dato : 23-10-02 01:51

On Wed, 23 Oct 2002 02:43:55 +0200, "Mikkel Gravgaard"
<snapz@snapz.com> wrote:

>Men
>browseren vil ved denne løsning foreslå at gemme filen med samme navn som
>PHP-dokumentet (f.eks. test.php). Er der en løsning på det nævnte, eller er
>der en alternativ mulighed?

Den grove, men effektive metode:
Link til fx test.php/oprindeligt_filnavn.pdf (og fx
test.php/oprindeligt_filnavn.pdf?id=10)

Serveren vil afvikle "test.php", men browseren tror, at filen hedder
oprindeligt_filnavn.pdf.

Vil du derudover lave en tilnærmelsesvis HTTP-baseret løsning, kan du
lave en Content-Disposition-header, hvor du har mulighed for at sætte
filnavn.

Tjek afsnit 19.5.1:
http://rfc.sunsite.dk/rfc/rfc2616.html

--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408540
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste