Avatar billede thewizard Nybegynder
25. november 2008 - 14:46 Der er 6 kommentarer

Beskyt billede fra URL-søgning

Hey alle.

Jeg har et problem. Er ikke 100% på at jeg bør lægge den her i php-sektionen, eller det er et apache problem.

På mit site:
BrugerID: 123, har uploadet billede: 1.jpg. Og et dokument: 1.txt

URL'en til det er:
www.eksempel.dk/123/1.jpg
www.eksempel.dk/123/1.txt

Kun brugeren med ID'et 123 skal kunne se billederne og læse dokumentet, via URL'en. Andre brugere må ikke.

Hvordan? Mappen skal "låses" på en måde.

Ved godt hvordan man laver et login, med mySQL - det er ikke problemet her.
Avatar billede thewizard Nybegynder
25. november 2008 - 15:41 #1
En løsning er at lave et directory lige som /forbidden. Men det skaber blot endnu et problem: Dobbelt login. Nu skal folk både logge ind på hjemmesiden, og når de ønsker at se deres egne uploadede filer, skal de logge ind i /forbidden.

Det giver nemt irriteret brugere.

Andre som har ideer?
Avatar billede elskermad.dk Nybegynder
25. november 2008 - 16:42 #2
placerer filerne i en mappe på webhotellet som ikke kan nåes fra hjemmesiden, også lave et php-script som hvis man er logget ind kan skrive filerne til browseren
Avatar billede thewizard Nybegynder
25. november 2008 - 17:05 #3
Ja det er nemmere sagt end gjort ;). Er filerne lagt i /forbidden, f.eks. eksempel.jpg. Så kan det ikke hentes frem af HTML, uden user/pass bliver givet.
Avatar billede znopie Nybegynder
25. november 2008 - 21:10 #4
Kan man ikke lave en header() på den?

f.eks. hvis det er et jpg billed, så bruger du følgende kode:

<?php

// Har ikke testet koden

if ($bruger_adgang == true)
{
  header("Content-Type: image/jpeg");
  imagecreatefromjpeg("1.jpg");
  imagejpeg("1.jpg");
} else {
  echo "Ingen adgang!";
}
?>
Avatar billede thewizard Nybegynder
25. november 2008 - 21:20 #5
znopie bare læg svar.

Jeg endte med at sidde 9 timer og læse op på .htaccess :) Bruger det i stedet. Men kan være jeg ender med at gå tilbage med det du svarede :).
Avatar billede znopie Nybegynder
25. november 2008 - 23:24 #6
Det er den letteste måde :P, og den eneste forskel er den hedder php, og ikke jpg, men det kan vel også laves om i .htaccess
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