[PHP?] Download toegang beperken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste mede-tweakers,

Ik heb sinds kort een eigen server voor mijn website en heb alle downloads op een externe shared host (servage) staan.

Ik zou graag willen dat mensen alleen doormiddel van mijn website zonder dat de naam weergeven word het bestand kunnen downloaden. Dus niet dat ze de shared-host direct kunnen benaderen en dan kunnen downloaden.

Is er een manier om dit te beperken/afschermen?
Aangezien de bandbreedte niet van mijn website zelf kan worden gebruikt (het gaat om extreem veel downloads) is het geen optie om het bestand eerst tijdelijk naar mijn website te downloaden en vervolgens te "outputten".

Enige suggesties zijn dus welkom.

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Je kan eventueel, als je PHP of .htaccess kan gebruiken op servage een gebruikersnaam en wachtwoord doorsturen ja.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Bitage
  • Registratie: April 2006
  • Laatst online: 19-05-2024
Aangezien de bandbreedte niet van mijn website zelf kan worden gebruikt
[knip]
het geen optie om het bestand eerst tijdelijk naar mijn website te downloaden en vervolgens te "outputten".
Hier spreek je jezelf dus tegen. Nu wil je het a.d.h.v. een script het eerst zelf downloaden, om het vervolgens weer naar de bezoeker te uploaden. Niet alleen is dit een verspilling van bandbreedte, je eigen bandbreedte lijdt er alsnog door. Kromme gedachte dus.

Natuurlijk kan dit, iets met echo file_get_contents($url);, maar het is erg kromme gedachtekronkel om dit te gaan doen. Als je bandbreedte wilt besparen en je host het op een andere site, link dan gewoon naar die site of zet een Location: $url header.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Snake schreef op woensdag 19 november 2008 @ 18:21:
Je kan eventueel, als je PHP of .htaccess kan gebruiken op servage een gebruikersnaam en wachtwoord doorsturen ja.
Ik kan php en htaccess gebruiken, ik had al gegoogled hoe dit moest en dergelijke.
Hoe kan ik dit scripten/maken?

Acties:
  • 0 Henk 'm!

  • martijnve
  • Registratie: December 2004
  • Laatst online: 16:12
Je kunt de files met een obscure naam op je fileserver zetten maar dat is ook alleenmaar security by obscurity.
Wat je zou kunnen doen:
Iemand klikt op een download link die naar je eigen server wijst,
die genereert een eenmalige downloadcode en geeft deze door aan je file server (via een gewone request over een beveiligde verbinding is het makkelijkste denk ik).
Vervolgens forward je de beszoeker naar een phpscript op de fileserver met de code.
De fileserver controleert voor welke file de code is, bied de file als download aan en verwijdert de code.
Als iemand de code nog een keer probeert te gebruiken is deze ongeldig.

Mini-ITX GamePC: Core i5 3470 | 16GB DDR3 | GTX 970 4GB | Samsung 830 128GB | Dell u2711 (27", IPS,1440p), 2343BW


Acties:
  • 0 Henk 'm!

  • Herko_ter_Horst
  • Registratie: November 2002
  • Niet online
Edit: n.m. ik was er vanuit gegaan dat je shared host een soort RapidShare was waar je zelf geen scripts kan draaien.

[ Voor 87% gewijzigd door Herko_ter_Horst op 19-11-2008 18:31 ]

"Any sufficiently advanced technology is indistinguishable from magic."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bitage schreef op woensdag 19 november 2008 @ 18:24:
[...]

Hier spreek je jezelf dus tegen. Nu wil je het a.d.h.v. een script het eerst zelf downloaden, om het vervolgens weer naar de bezoeker te uploaden. Niet alleen is dit een verspilling van bandbreedte, je eigen bandbreedte lijdt er alsnog door. Kromme gedachte dus.

Natuurlijk kan dit, iets met echo file_get_contents($url);, maar het is erg kromme gedachtekronkel om dit te gaan doen. Als je bandbreedte wilt besparen en je host het op een andere site, link dan gewoon naar die site of zet een Location: $url header.
Dat kwam nogal onduidelijk over ik bedoel dus:

is het geen optie om het bestand eerst tijdelijk naar mijn website te downloaden en vervolgens te "outputten".

Dat was een statement, geen vraag. Alsin, het is geen optie om dat te doen. Excuses :+

@Bovenstaande suggesties, hartstikke bedankt hier kan ik wat mee :)

Acties:
  • 0 Henk 'm!

  • Bitage
  • Registratie: April 2006
  • Laatst online: 19-05-2024
Verwijderd schreef op woensdag 19 november 2008 @ 18:27:
[...]


Dat kwam nogal onduidelijk over ik bedoel dus:

is het geen optie om het bestand eerst tijdelijk naar mijn website te downloaden en vervolgens te "outputten".

Dat was een statement, geen vraag. Alsin, het is geen optie om dat te doen. Excuses :+
Ah, ok. Vond het al een beetje vreemd, maargoed :P

Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 19:24

Patriot

Fulltime #whatpulsert

Ik heb sinds kort een eigen server voor mijn website en heb alle downloads op een externe shared host (servage) staan.
Je bedoelt een shared host van servage.net? Dan kun je ook een soort van 'token' systeem bouwen. Je creëert op je eigen server een unieke key, die stuur je door naar die shared host samen met de naam van het te downloaden bestand (aparte request los van de gebruiker). Je geeft de gebruiker een redirect naar de shared host met die key. De gebruiker komt aan bij de shared host met de key, het script op de shared host output dan het bestand en zet de key op gebruikt/verwijdert de key uit zijn database. De volgende keer dat dezelfde url gebruikt wordt bestaat die key niet meer en output de shared host geen bestand.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Patriot schreef op woensdag 19 november 2008 @ 18:36:
[...]


Je bedoelt een shared host van servage.net? Dan kun je ook een soort van 'token' systeem bouwen. Je creëert op je eigen server een unieke key, die stuur je door naar die shared host samen met de naam van het te downloaden bestand (aparte request los van de gebruiker). Je geeft de gebruiker een redirect naar de shared host met die key. De gebruiker komt aan bij de shared host met de key, het script op de shared host output dan het bestand en zet de key op gebruikt/verwijdert de key uit zijn database. De volgende keer dat dezelfde url gebruikt wordt bestaat die key niet meer en output de shared host geen bestand.
Moet je alleen nog rekening houden met mensen die snellere internet verbindingen hebben dan jouw shared host waardoor de request van je gebruiker sneller is dan request van je host ( simpel te ondervangen door je eigen website een gedeelte van de locatie te laten opbouwen en shared host een gedeelte van de locatie te laten opbouwen, dan moet er communicatie plaatsvinden voordat een gebruiker iets kan downloaden, geen communicatie is halve locatie )

Praktisch gezien zou ik iets meer vrijheid geven dan deze simpele en directe methode ( bijv elk bestand met die key mag 5x binnen een tijdsspanne van 24 uur gedownload worden ) anders frustreer je redelijk wat downloadmanagers en mensen met niet 100% stabiel internet.

Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 19:24

Patriot

Fulltime #whatpulsert

Gomez12 schreef op woensdag 19 november 2008 @ 19:38:
[...]

Moet je alleen nog rekening houden met mensen die snellere internet verbindingen hebben dan jouw shared host waardoor de request van je gebruiker sneller is dan request van je host ( simpel te ondervangen door je eigen website een gedeelte van de locatie te laten opbouwen en shared host een gedeelte van de locatie te laten opbouwen, dan moet er communicatie plaatsvinden voordat een gebruiker iets kan downloaden, geen communicatie is halve locatie )
Je stuurt de gebruiker natuurlijk pas door op het moment dat je weet dat de key is doorgegeven.
Praktisch gezien zou ik iets meer vrijheid geven dan deze simpele en directe methode ( bijv elk bestand met die key mag 5x binnen een tijdsspanne van 24 uur gedownload worden ) anders frustreer je redelijk wat downloadmanagers en mensen met niet 100% stabiel internet.
Hoewel een downloadmanager er geen moeite mee zou moeten hebben, is het inderdaad handiger om een gebruiker toegang te geven voor een bepaalde tijd.

Acties:
  • 0 Henk 'm!

  • Bitage
  • Registratie: April 2006
  • Laatst online: 19-05-2024
Wat me net te binnen schiet: zou je niet een subdomain kunnen maken wat verwijst naar het IP adres van je hosting? Dus iets als files.mijnsite.tld ? Op die manier blijft het toch een soort onderdeel van je eigen site (of domein) en heeft de gebruiker niets in de gaten.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bitage schreef op woensdag 19 november 2008 @ 20:45:
Wat me net te binnen schiet: zou je niet een subdomain kunnen maken wat verwijst naar het IP adres van je hosting? Dus iets als files.mijnsite.tld ? Op die manier blijft het toch een soort onderdeel van je eigen site (of domein) en heeft de gebruiker niets in de gaten.
Momenteel verwijst er al een subdomein door naar de shared hosting (mijn site gebruikt de nameserver van servage.net zodat als mijn server offline gaat bepaalde dingen nog bereikbaar zijn)
Pagina: 1