Gå til innhold

Beskytte filer som pdf o.l.


Anbefalte innlegg

God aften!

 

Jeg skulle gjerne hatt muligheten til å legge ut filer, spesielt prislister i form av pdf, men helst passordbeskyttet disse. Det kan også dreie seg om Excel-filer, bilder og eventuelle andre ting som dukker opp.

 

Er det noen mulighet for å gjøre dette? En php-fil med informasjon kan man jo enkelt passordbeskytte, men finnes det noe med filer? Jeg skulle gjerne hatt noe log-in-greier gjort gjennom et script for å få tilgang.

 

Finnes det noe annet man må gjøre, så må jeg vel bare finne meg i det...

 

Thank you!

 

(mulig noen vil hevde feil kategori, men jeg er jo mest på utkikk etter en php-løsning)

Lenke til kommentar
Videoannonse
Annonse

Det er fult mulig å legge inn passordbeskyttelse i PDF filer. Dette kan du gjøre med de fleste PDF programmer, men du kan også gjøre det med www.fpdf.org. Et script for å generere PDF filer i PHP.

 

En annen løsning er å rett og slett benytte .htaccess dersom dersom serveren din er en apache server. Da kan du beskytte alle filene dine som ligger i en bestemt mappe.

Lenke til kommentar

Skjønte ikke helt den "hva med bilder", vil du beskytte bilder?

 

Det finnes bra måter å løse dette med PHP, men det er litt jobb.

For å beskytte bilder så kan du enkelt løse dette med PHP og GD funksjonene. Og filer (inkl bilder) kan du gi brukeren tilgang til gjennom en download fil.

 

Hvor mye PHP kan du?

Jeg kan hjelpe deg å gi deg tips og hint til å skrive et slikt script, men du må skrive det selv. Du kan jo også forsøke hotscripts.com, kanskje du er heldig?

Lenke til kommentar

Jeg kan ikke skryte på meg noe voldsomt. Riktignok kan jeg manipulere og tilpasse koder til mitt bruk, men å sette meg ned og skrive en lang kode er nok over mitt hode.

 

I og med at jeg må spørre hva GD er antar jeg at jeg bør holde meg til htaccess (selv om det hadde vært kulere med php). :p

Lenke til kommentar

GD er et grafikkbibliotek utviklet av boutell.com. Det er en funksjon som har vært tilgjenlig i mange år, og lar script språk som f.eks. PHP og PERL behandle bilder. Du kan utføre mange funksjoner med et bilde, som å sette inn tekst eller til og med lage et eget bilde. Er kanskje ikke like bra som Adobe Photoshop, men veldig praktisk. Kikk på www.php.net/gd

 

Om du bestemmer deg for å skrive det selv så si fra så skal jeg guide deg gjennom.

Lenke til kommentar

Jeg kan vise deg det grunnleggende... dette scriptet er enkelt og ikke sikkert. Det har ingen logg inn, og passordet er ikke gjemt. Det vil si at dersom PHP stopper så vil brukere kunne se passordet. Det er med andre ord helt grunnleggende, men det kan gi deg et utgangspunkt.

 

Først er det viktig at du plasserer de filene du ikke vil at noen ikke skal ha tilgang til i en mappe utenfor public_html eller www mappen. På den måten er de ikke tilgjenlige for noen. Dette definerer du i $mappe helt øverst i scriptet.

 

<?php


// --------------------------------
// Instillinger

$mappe = "../../filer/"; // eller f.eks. C:\filer i Windows eller /filer/ i *nix.

// --------------------------------

// sjekker at brukeren har sendt et passord
if ($_GET['p'] !== "12345") {
   echo "Beklager, du har ikke tilgang til denne filen.";
   exit;
}

// sjekker at brukeren har valgt en fil
if (empty($_GET['file'])) {
   echo "Beklager, du har ikke spesifisert en fil.";
   exit;
}

// sjekker at filen finnes
if (!file_exists($mappe . $_GET['file'])) {
   echo "Filen finnes ikke.";
   exit;
}

// henter filtype
$filtype = mime_content_type($mappe . $_GET['file']);

// setter header for vedlegg
header ("Content-Disposition: attachment; filename=\"{$_GET['file']}\"");

// setter content-type
header ("Content-type: {$filtype}");

// henter innholdet fra filen
readfile($mappe . $_GET['file']);

?>

 

For å bruke dette scriptet så må du definere variabelen p til 12345 i linken. Lagre filen som f.eks. fil.php. Da bruker du scriptet slik:

 

http://dittdomene.no/fil.php?p=12345&file=NavnPåFilen.pdf

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...