login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Rechten (Opgelost)

Offline ArcanA - 07/02/2009 13:42
Avatar van ArcanAPHP beginner Hallo,

Ik heb een SESSION wanneer een gebruiker ingelogd is en een link met downloads, in die pagina met downloads staan alle downloads. Alleen kunnen ze ook downloaden wanneer ze niet ingelogd zijn.

Wie weet hoe ik dit moet aanpakken?

Mvg,
ArcanA

8 antwoorden

Gesponsorde links
Offline Martijn - 07/02/2009 13:48
Avatar van Martijn Crew PHP als je niet wilt dat mensen gewoon de link van het bestand invullen om te downloaden, moet je met htaccess werken. Geloof ik.
Offline ArcanA - 07/02/2009 13:51
Avatar van ArcanA PHP beginner Ik wil gewoon dat ingelogde gebruikers enkel kunnen downloaden, en de uitgelogde leden er geen toegang tot krijgen, alle bestandjes staan gewoon in de map "DOWNLOADS".
Offline Martijn - 07/02/2009 13:57
Avatar van Martijn Crew PHP ja,. maar als ik inlog, de link onthoud, die link aan een vriend geef:
www.website.nl/downloads/bestand.zip
dan opent ie gewoon.

Je zou een functie kunnen maken die een tijdelijke kopie maakt, die downloadbaar maakt voor 1uur, en daarna weer verwijderd
Offline ArcanA - 07/02/2009 14:21 (laatste wijziging 07/02/2009 14:22)
Avatar van ArcanA PHP beginner Ik heb hier iets gevonden:
http://www.phphulp.nl/php/tutorials/10/263/484/

Maar die HTACCESS werkt gewoon niet bij mij,

Ik open gewoon wordpad, ik zet dit erin:

Order deny,allow
deny from all


En ik verander het in .htaccess vanachter?
toch werkt dit niet bij mij..

PS: dit zet ik in de map "DOWNLOADS"



Mvg,
ArcanA
Offline Koen - 07/02/2009 14:24
Avatar van Koen PHP expert Niet alle hosts ondersteunen htaccess..
Offline ArcanA - 07/02/2009 14:29 (laatste wijziging 07/02/2009 14:56)
Avatar van ArcanA PHP beginner Hmm, hoe kan ik dat nagaan...

Heeft dat een specifieke naam of gewoon

htaccess ondersteuning

http://www.fixpc.nu/php.php
Offline vinTage - 07/02/2009 15:02
Avatar van vinTage Nieuw lid
ArcanA schreef:
Maar die HTACCESS werkt gewoon niet bij mij,

Ik open gewoon wordpad, ik zet dit erin:

En ik verander het in .htaccess vanachter?
toch werkt dit niet bij mij..

PS: dit zet ik in de map "DOWNLOADS"


Je moet gewoon een kladblok dingetje nemen, daarin je htaccess code, uploaden en via ftp DE HELE bestandsnaam omzetten naar .htaccess
Niks meer in de naam en niks minder.

Maar het gaat niet de oplossing zijn voor je probleem, zo kan niemand het nog downloaden 

Wat betrefd het uitdelen van links..helemaal safe zal het niet worden, want mensen kunnen ook nep accounts gaan aanmaken en de inloggegevens erbij vermelden.
Offline ArcanA - 07/02/2009 15:21 (laatste wijziging 07/02/2009 15:23)
Avatar van ArcanA PHP beginner Ja dat weet ik, maar ze gaan ook moeten betalen voor een account aan te maken..

Je zou gewoon de map /login/downloads/bestand.exe niet inmogen, maar ipv zo de map in te gaan , roep ik met een script het bestand anders op (httpdocs/download.php?uri=/bestand.exe) + controleer ik of ze ingelogd zijn, als ze niet ingelogd zijn kunnen ze ook niet het bestand downloaden:

  1. <?php
  2. //Deze regel is belangrijk! Verwijder deze regel niet, anders werkt het downloaden in IE niet goed meer.
  3.  
  4.  
  5. if(!isset($_SESSION)){
  6. }
  7.  
  8. if(!isset($_SESSION['user'])){
  9. echo "Niet ingelogd!";
  10. exit();
  11. }
  12.  
  13. if(!isset($_REQUEST['uri']) || empty($_REQUEST['uri'])){
  14. echo "Geen url opgegeven!";
  15. exit();
  16. }
  17.  
  18. $file = substr($_REQUEST['uri'], strrpos($_REQUEST['uri'],"/")+1);
  19. $file = htmlspecialchars($file);
  20.  
  21. $folder = realpath('login/downloads');
  22.  
  23. if(!file_exists($folder.'/'.$file)){
  24. echo "Bestand bestaat niet!";
  25. exit();
  26. }
  27.  
  28. $mime = mime_content_type($folder.'/'.$file);
  29.  
  30.  
  31. header("Content-Type: ".$mime);
  32. header("Content-Length: ".filesize($folder.'/'.$file));
  33. header("Content-Disposition: attachement; filename=".$file);
  34. header("Content-Transfer-Encoding: binary");
  35.  
  36. $fp = fopen($folder.'/'.$file,"r");
  37. fpassthru($fp);
  38. fclose($fp);
  39. ?>



Wanneer ik die .htaccess in mijn login/downloads zet, verdwijnt hij elke keer weer.. Alles werkt, behalve dat ze dus via de login/downloads map kunnen downloaden zonder controle..
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.188s