Hey,
Voor een file sharing website wil ik gebruikers de mogelijkheid bieden om grote bestanden (tot 1 gb) te uploaden om andere mensen in de gelegenheid te stellen deze bestanden te downloaden middels een unieke link die in een e-mail wordt verzonden (dus soortgelijk als Yousendit.com).
De bestanden zullen geupload worden middels een normale http request, wat wellicht voor problemen gaat zorgen bij grote bestanden (echter heb ik de beschikking over krachtige servers, en volledige controle over de servers).
Maar mijn probleem zit 'm nu meer in het downloaden van de bestanden. De bestanden dienen afgeschermd te worden, zodat niet iedereen de bestanden kan downloaden (logisch natuurlijk).
Een goede methode om de bestanden te downloaden lijkt mij via een FTP connectie, echter moet wel eerst gecontroleerd worden door PHP of de gebruiker de juiste rechten heeft om het betreffende bestand te downloaden.
Mijn uitdaging zit 'm dus vooral in de combinatie van de PHP controle en via FTP downloaden.
Mogelijkheden die er zijn (ik hoop dat jullie nog enkele mogelijkheden kunnen aandragen):
PHP controle -> Betreffende bestand in unieke map zetten -> Via FTP bestand downloaden
Nadeel hiervan is dat het bestand on the fly verplaatst moet worden. Het bestand is hierdoor ook verdwenen uit de oorspronkelijke map, wat betekent dat het bestand niet nogmaals gedownload kan worden
PHP controle -> Via FTP bestand downloaden
Op deze manier zal PHP redirecten naar de FTP locatie, echter heb je dan het probleem dat wanneer een gebruiker een bestandsnaam weet, een bestand kan downloaden van de server (dus een beveiligingsprobleem).
PHP controle -> Via FTP bestand downloaden uit unieke map
Dit is misschien wel de beste methode. Na het uploaden wordt een unieke map aangemaakt (bijvoorbeeld een md5 hash of middels een uniqid() ) en hier wordt dan het bestand in geplaatst.
Middels PHP wordt het betreffende bestand opgehaald. 100% veilig is het niet, maar de kans dat iemand andermans bestand download wordt wel zeer gering.
Nu is mijn vraag of jullie nog betere methoden weten en / of jullie nog tips hebben om zo'n soort systeem op te zetten ten aanzien van het uploaden en downloaden van grote bestanden.
Bedankt!
Voor een file sharing website wil ik gebruikers de mogelijkheid bieden om grote bestanden (tot 1 gb) te uploaden om andere mensen in de gelegenheid te stellen deze bestanden te downloaden middels een unieke link die in een e-mail wordt verzonden (dus soortgelijk als Yousendit.com).
De bestanden zullen geupload worden middels een normale http request, wat wellicht voor problemen gaat zorgen bij grote bestanden (echter heb ik de beschikking over krachtige servers, en volledige controle over de servers).
Maar mijn probleem zit 'm nu meer in het downloaden van de bestanden. De bestanden dienen afgeschermd te worden, zodat niet iedereen de bestanden kan downloaden (logisch natuurlijk).
Een goede methode om de bestanden te downloaden lijkt mij via een FTP connectie, echter moet wel eerst gecontroleerd worden door PHP of de gebruiker de juiste rechten heeft om het betreffende bestand te downloaden.
Mijn uitdaging zit 'm dus vooral in de combinatie van de PHP controle en via FTP downloaden.
Mogelijkheden die er zijn (ik hoop dat jullie nog enkele mogelijkheden kunnen aandragen):
PHP controle -> Betreffende bestand in unieke map zetten -> Via FTP bestand downloaden
Nadeel hiervan is dat het bestand on the fly verplaatst moet worden. Het bestand is hierdoor ook verdwenen uit de oorspronkelijke map, wat betekent dat het bestand niet nogmaals gedownload kan worden
PHP controle -> Via FTP bestand downloaden
Op deze manier zal PHP redirecten naar de FTP locatie, echter heb je dan het probleem dat wanneer een gebruiker een bestandsnaam weet, een bestand kan downloaden van de server (dus een beveiligingsprobleem).
PHP controle -> Via FTP bestand downloaden uit unieke map
Dit is misschien wel de beste methode. Na het uploaden wordt een unieke map aangemaakt (bijvoorbeeld een md5 hash of middels een uniqid() ) en hier wordt dan het bestand in geplaatst.
Middels PHP wordt het betreffende bestand opgehaald. 100% veilig is het niet, maar de kans dat iemand andermans bestand download wordt wel zeer gering.
Nu is mijn vraag of jullie nog betere methoden weten en / of jullie nog tips hebben om zo'n soort systeem op te zetten ten aanzien van het uploaden en downloaden van grote bestanden.
Bedankt!