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

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

Laster...
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...