Jump to content
Sign in to follow this  
glennsjo

Beskytte filer som pdf o.l.

Recommended Posts

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)

Share this post


Link to post

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.

Share this post


Link to post

Det svaret "regnet" jeg med, så da spør jeg hva med bilder. Finnes det noen annen måte enn .htaccess å gjøre det på?

Edited by Glenn'ern

Share this post


Link to post

Jeg vil si at .htaccess er å anbefale. Det er minimalt med jobb (søk etter htaccess-generator, eller noe i den duren).

.htaccess er i tillegg ganske så trygt, etter hva jeg vet. Tryggere enn hva en som ikke har særlig peilig på php klarer å fikse, iallefall.. :whistle:

Share this post


Link to post

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?

Share this post


Link to post

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

Share this post


Link to post

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.

Share this post


Link to post

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

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...