Avatar billede soccoro Nybegynder
09. januar 2005 - 17:44 Der er 4 kommentarer og
1 løsning

Beskyttelse af billeder

Hej alle,

jeg er ved at lave et lukket community. Når man har logget sig ind, så er der en liste over billede og film filer. Som det er nu, så kan man dog tilgå billederne gennem en simpel URL. Hvordan kan man beskytte dem (uden .htaccess), fx ved at tjekke, om brugeren kommer fra den rigtige fil?

Altså, så hvis man skriver den totale adresse til billedet i browseren, så kan man ikke se den medmindre man kommer gennem siden...
Avatar billede jakoba Nybegynder
09. januar 2005 - 18:02 #1
Alle billeder ligger i en makke der hedder 'billeder', og billedfilerne har navne som
  billede0            billedet for 'jeg kan ikke finde noget billede'
  billede1            billede for 'du har ikke noget at gøre her'
  billede1000        billede af første bruger
  billede1001        billede af anden bruger
  ...                osv

når et billede skal bruge på dit websiden laver du en <img kommando der bruger en php fil som filsource:

<img src="bilde.php?param=1001">

------- filen bilde.php
<?          // <!-- Minus AutoDato -->
header ("Content-type: image/jpg");
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
header ("Pragma: no-cache");                          // HTTP/1.0

if ( isset( $_GET['param'] ) ) {
    $param = $_GET['param'];
} else {
    $param = 0;      // nr for default billede
}
if ( $_SESSION['HTTP_rererer'] != 'skriv korrekt sti her' ) {      // *************
        // gal referrer
    $param = 1;      // nr for billede af en lang næse
}

$filnavn = 'billeder/billede' .$param .'.jpg';

$fp = fopen ( $filename , "rb" );
$ok = fpassthru ($fp);
fclose ($fp);
?>

du skal indsætte korrekt sti i linien markeret med  // *************

mvh JakobA
Avatar billede erikjacobsen Ekspert
09. januar 2005 - 18:14 #2
HTTP_REFERER kan fuskes. Men tilføj i stedet for i Jakobas script på det sted
et check for om man er logget ind.
Avatar billede soccoro Nybegynder
30. januar 2005 - 14:29 #3
Hej begge,

jeg beklager den meget lange svartid. Men hvis i lige begge vil smide et svar, så fordeler jeg nogle points mellem jer.

Tak for hjælpen
Avatar billede erikjacobsen Ekspert
30. januar 2005 - 14:33 #4
Ingen point til mig, tak.
Avatar billede soccoro Nybegynder
30. januar 2005 - 14:36 #5
Okay, så venter jeg bare på at JakobA svarer. Tak for hjælpen endnu en gang
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
Kurser inden for grundlæggende programmering

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