.htaccess problem

Tags:    php

Hej.

Jeg har en hjemmeside som ligge på en PHP4 server, hvor man skal logge ind, hvis man ønsker at se alle dokumenterne.

Det fungere næsten perfekt. Men problemet er at hvis man skriver hele URL'en kan man også se dokumenterne uden at være logget ind.

Dette har jeg prøvet at forhindre med føgende .htaccess file som ligge i min dokument mappe på serveren.

AuthUserFile /dev/null
AuthGroupFile /dev/null
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\\.)?domain\\.dk/.*$ [NC]
RewriteRule /* http://www.domain.dk [R,L]


Hvis man skriver hele URL'en i sit browser vindue, bliver man redirected til min login side. Men hvis man klikker på linket indefra hjemmesiden, bliver dokumentet vist.

Det ser også ud til at fungere på mindre dokumenter af typen PDF (der fylder omkring 200KB), men når jeg så linker til en file der er omkring 2MB af typen PDF, går det galt. Den starter med at loade de første 300KB ind i det nye vindue og derefter stopper processen - den fortsætter aldrig med de resterende dataer.

Denne fejl opstår hvis jeg benytter Microsoft Internet Explorer 7.0 eller FireFox 2.0, men fungere perfekt med Opera.

Er det en general fejl på PHP4 servere eller er det noget galt med opsætningen af min .htaccess file?
Kan problemet løses ved at benytte en PHP5 server?
Er der en bedre måde at løse mit problem på?

Jeg håber der er nogle som kan hjælpe, så jeg ikke mister alt håret.

Hilsen Jan Johansen



Indlæg senest redigeret d. 13.05.2008 15:52 af Bruger #13742
2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Du bør ikke stole på HTTP_REFERER som din login metode, da det nemt kan omgåes.



Du bør ikke stole på HTTP_REFERER som din login metode, da det nemt kan omgåes.


Hvordan kan man på en smart og sikker måde, forhindre at man får adgang til dokumentet ved at skrive hele URL'en, uden at være logget ind?

Kan man lave nogle mapper på serveren som kun kan accesses, hvis man klikker på et link som ligger på min hjemmeside?

Jeg er helt blank på dette område.



t