Avatar billede artico Novice
24. september 2007 - 21:40 Der er 8 kommentarer og
1 løsning

Beskyttet mappe på webhotel?

Hej experter, jeg har noget materiale (manualer) som jeg vil forsøge at sælge via en website, jeg ved ikke om det er spændende nok og vil derfor starte i det små, med at kunden logger ind og  kan betale via bankoverførsel og så få adgang til en "mappe" hvor der kan downloades fra i en periode på f.eks 1 måned.

Det er ikke betalingsløsningen jeg tænker på, men på hvordan jeg sikre mappen på webhotellet og kan åbne og lukke for adgangen?

Så hvordan syntes i jeg skal gøre det?
Avatar billede coderdk Praktikant
24. september 2007 - 22:49 #1
læg manualerne uden for webroot, eller beskyt dem med .htaccess, opret dem som brugere i en mysql database, downloads sker igennem et script...
Avatar billede Martin Carl Praktikant
25. september 2007 - 09:46 #2
Emnet/problemstillingen er jeg også interesseret i. Det første punkt forstå jeg godt:

1. læg manualerne uden for webroot, eller beskyt dem med .htaccess
2. opret dem som brugere i en mysql database
3. downloads sker igennem et script...

Men punkt 2 og 3 - kan du være lidt mere præcis.

På forhånd tak.
Avatar billede coderdk Praktikant
25. september 2007 - 10:28 #3
Brugerne skal bare være i en mysql database, du laver bare et loginsystem med sessions og downloadscriptet checker bare om de er logget ind, f.eks.:

<?php

  session_start();
  $file = basename($_GET['file']);
  readfile("/sti/til/mappe/".$file);

?>

Hvis du ikke har lavet med databaser før, så søg efter et par tutorials, f.eks. her eller http://phpartikler.dk/artikler/mysql_queries.php
Avatar billede Martin Carl Praktikant
25. september 2007 - 10:53 #4
Tak - jeg har mine bruger i en MySQL tabel.

Men scriptet? Hvis det er en PDF fil, jeg gerne vil vise brugeren hvis denne har adgang?

Hvis det f.eks. er en forening med bestyrelsesreferater og brugeren kun må læse dem for den periode de f.eks. har været bestyrelsesmedlem. Så vil jeg f.eks. registrer filnavnene i en tabel.
Avatar billede coderdk Praktikant
25. september 2007 - 11:09 #5
Det er vel bare at gemme alle info om filen i databasen og bare lave en query der hiver de relevante filer ud?
Avatar billede Martin Carl Praktikant
25. september 2007 - 13:45 #6
Tak - men med readfile får jeg en dialog til download. Hvad hvis jeg gerne vil vise PDF filen i browsen?
Avatar billede coderdk Praktikant
25. september 2007 - 13:58 #7
Med PDF:

<?php

  session_start();
  $file = basename($_GET['file']);
  $fuldsti = "/sti/til/mappe/".$file;
  header("Content-Type: application/pdf");
  header("Content-Length: " . filesize($fuldsti));
  readfile($fuldsti);

?>
Avatar billede Martin Carl Praktikant
25. september 2007 - 14:20 #8
Fint det virker! 1.000 tak.
Avatar billede coderdk Praktikant
25. september 2007 - 14:30 #9
Selv tak :) Hvis du har andre typer filer, skal du huske at ændre Content-Type til det der passer - Man kan evt. checke på filendelsen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester