Avatar billede straszek Praktikant
15. maj 2006 - 17:04 Der er 10 kommentarer og
1 løsning

sessions vs. .htaccess

Hej

Jeg har en side med et hjemmelavet brugerforum. Brugerforumet er beskyttet af .htaccess så kun godkendt brugere kan komme ind.

Jeg er nu ved at skifte godkendelse fra htaccess til sessions. Mit problem er at jeg har en mappe med filer som brugerne har uploadet, hvordan beskytter jeg denne mappe?. Hvis jeg dropper htaccess vil alle jo kunne få adgang til mappen
Avatar billede jakobdo Ekspert
15. maj 2006 - 17:55 #1
Tror måske du kan bruge svaret nederst i denne tråd: http://forums.devnetwork.net/viewtopic.php?t=47601
Avatar billede domaz.dk Novice
16. maj 2006 - 16:06 #2
du kunne også evt. beholde en .htaccess i den mappe og bruge et download-script til når folk vil hente filer fra mappen.
Avatar billede dcheng Novice
16. maj 2006 - 16:56 #3
Det du bør gøre er at bruge sessions og holde sikkerhede oppe på SESSION niveau.. Du laver herefter en php script som henter filer på din server (med lig hjælp af en database)... Og så kan du lave en "deny" på mappen hvor filerne ligger med .htaccess

Forstår ud hvad jeg mener?
Avatar billede straszek Praktikant
16. maj 2006 - 17:43 #4
nej jeg forstår ikke hvad du mener  - kan du uddybe?
Avatar billede dcheng Novice
16. maj 2006 - 18:10 #5
Okey jeg prøver,

Altså hvis du har et website hvor du fx. logger ind og gemmer med session i stedet for at gøre det med en htaccess. Nu har vi på plads hvornår en bruger er logget ind eller ej.

Dernæst kan du lave et download script som henter filen uden at vise filens rigtige sti, jeg mener på følgende måde:

Brugerens sti.
http://www.domain.dk/download.php?file=program.exe

den rigtige sti til filen kan fx. være:
http://www.domain.dk/download_data/program.exe

scriptet kan fx. således ud:
<?
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$row[0]."");
header("Pragma: no-cache");
header("Expires: 0");
echo file_get_contents($file);
?>

mappen download_data beskytter du med htaccess... deny from all eller lign. Så kan du nemlig ikke downloade filen selvom du kender den rigtige sti.

Variablen $file i scriptet er naturligvis stien til filen
Avatar billede dcheng Novice
16. maj 2006 - 18:11 #6
rettelse

<?
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$file."");
header("Pragma: no-cache");
header("Expires: 0");
echo file_get_contents($file);
?>
Avatar billede straszek Praktikant
27. september 2006 - 08:56 #7
den nemmeste og mest sikre måde viste sig at være, at placere filerne uden for webscope og så lave et script der henter dem derfra.

Søren
Avatar billede dcheng Novice
27. september 2006 - 16:15 #8
Det var også det jeg prøvede på at vise.

Men det er jo ikke altid man kan få lov til at smide det uden for scopet, fx. ved alm. webhoteller hvor du havner direkte i roden af domænet.
Avatar billede jakobdo Ekspert
27. september 2006 - 16:27 #9
Jeg synes nu ellers mange webhoteller tilbyder:
/roden/www
/roden/data
/roden/diverse...
Altså at man kan gå uden om WWW og lave mapper der.
Avatar billede dcheng Novice
27. september 2006 - 16:33 #10
Ok jeg har kun prøver Scannet og B-One, hvor man hos lander direkte i roden af WWW hos B-One. Men Scannet har en folders ud over WWW
Avatar billede jakobdo Ekspert
27. september 2006 - 16:55 #11
Det er nemlig meget forskelligt! :o)
Men så kan man jo bare lave en mappe og smide en .htaccess fil i den mappe, så ser ingen indholdet i den (hvis webhotellet understøtter htaccess-filer)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester