Toon posts:

[php] anti-leech laat bestand zien i.p.v downloade

Pagina: 1
Acties:

Verwijderd

Topicstarter
Onderstaand bestand moet voorkomen dat mensen die niet zijn ingelogd bestanden downloaden. De bestanden staan in een directory die niet bereikbaar is via het web.

Het probleem is nu dat als je bv een mp3 bestand aanroept met download.php?bestand=muziek.mp3 dat hij het bestand niet download maar opent??????? bij mp3 bestanden zie je dus keihard de bron. hoe los ik dit op?
PHP:
1
2
3
4
5
6
7
8
<?
  include("check_session.php");  // controle of sessie bestaat
  $bestand = str_replace("..","",$bestand); // kleine beveiliging
  $hiddendir = "/home/kees/bestanden/";     $file = fopen($hiddendir.$bestand,"r");  
  fpassthru($file);
  fclose($file);
  exit;  
?>

  • RobbertC
  • Registratie: September 2000
  • Laatst online: 07:30
met een
PHP:
1
2
3
<?
header()
?>

misschien?

Verwijderd

Topicstarter
Op dinsdag 26 februari 2002 10:36 schreef RobbertC het volgende:
met een
PHP:
1
2
3
<?
header()
?>

misschien?
en welke header zou dat moeten zijn???? hij moet alle bestandsoorten aankunnen?
of moeten we gewoon naar de extensie gaan kijken en aan de hand van dat de header bouwen?

  • eborn
  • Registratie: April 2000
  • Laatst online: 12-09 13:59
Misschien moet je er gewoon een algemene binary header van maken. Misschien dat application/octet-stream werkt? Weet niet of het netjes is btw :)

Verwijderd

probleem is dat je browser het je makkelijker wil maken :)

dat kun je omzeilen door hier te kijken

en dit te gebruiken:
PHP:
1
2
3
4
<?
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=downloaded.pdf");
?>

verander wel ff die pdf stuff he