mboost-dp1

PHP HTML Fil acces


Gå til bund
Gravatar #1 - Wolly
2. jun. 2006 09:01
Har et lille problem jeg vil håbe på at nogen kan hjælpe mig med...

Jeg skal lave en side hvor en bruger kan logge ind, og downloade en fil 3 gange. Filen må kun downloades 3 gange, herefter skal det ikke være muligt at downloade filen mere af den bruger.

Jeg har selv et par forslag, men de synes at være lidt besværlige, og søger en simpel måde at lave det på.

F.eks kunne det gøres ved at lade php scriptet kopiere filen ind i et katalog med et random navn, og give brugeren navnet til download, og så slette tempfilen med et cronjob efter en time.

Men der må da være en nemmere måde.

Vi har PHP, MySQL og linux til rådighed for en løsning.
Gravatar #2 - The-Lone-Gunman
2. jun. 2006 10:36
En mulighed ville være at gemme brugerens IP i en database, også selvfølgelig gemme hvor mange gange de har hentet filen. Så kan du også undgå at den samme person blot opretter en ny bruger (hvis de har mulighed for det altså) og downloader den tre gange til.
Gravatar #3 - yosh
2. jun. 2006 10:54
#2 Lone Gunmand:
Jeg tror ikke det Wolly efterspørger er hvordan han skal tælle, men hvordan han skal kontrollere adgang til filen.

#1 Wolly:
Du kan prøve at lægge filen i et directory der ikke er adgang til udefra, men som brugeren der kører Apache har adang til (typisk nobody).

Derefter kan du lave et PHP script der tjekker om brugeren har adgang og følgende henter indholdet af filen.

Eksempel på visning af filen /www/example/private/secret.zip kan foregå som følger. Husk at sætte den rigtige indholdstype så brugerens browser ved hvordan filen skal håndteres.
<?php
# Check om bruger har adgang
if (user_has_access()) {
# Sæt indholdstype
header("Content-Type: application/zip");
# Udskriv indhold af fil
include("/www/example/private_html/secret.zip");
} else {
# Udskriv fejlbesked
print "Du har ikke adgang til denne fil";
}
?>
Gravatar #4 - Wolly
2. jun. 2006 12:13
@TLG Takker for din opmærksomhed, men som yous skriver er det ikke det der er problemet.

@yous
Jeg kan sagtens følge dig, men vil der ikke altid være adgang til filen hvis det gøres på den måde? Altså vil filen ikke være tilgængelig hvis man kender adressen til den?

Jeg tror jeg vil prøve det i aften, håber det virker.
Gravatar #5 - The-Lone-Gunman
2. jun. 2006 13:10
Ah, ja selvfølgelig.

Men så tag et kig på denne artikel, den skulle vist svare præcist på det du spørger om.
Gravatar #6 - Wolly
2. jun. 2006 14:03
Wee det var lige det jeg skulle bruge, og for øvrigt også det samme som yosh foreslog... Takker til jer begge :-)
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login