Gå til innhold

Lage egen url for å skjule filer


Anbefalte innlegg

Jeg hadde en liten ide om å skjule filer slik at folk ikke kan automatisk nedlaste alt.

 

Det jeg vil er å lage f eks en mappe www.calamity.org/nedlast/filer/ så putte alle filene der.

Så vil jeg i calamity.org/nedlast ha et php script som finner en fil i /filer/ når urlen er calamity.org/nedlast/?fil

 

Er dette mulig?

Lenke til kommentar
Videoannonse
Annonse

Nå er det en stund siden jeg har drevet med PHP, men hvis jeg skjønner deg rett;

 

download.php:

<?php

$id = $_GET['id'];

if ($id == '1'){
$header = 'http://www.link-til-fil-nr-1';
}
elseif ($id == '2'){
$header = 'http://www.link-til-fil-nr-2';
}

Header(Location: $header);
?>

 

Så henter du fram filer ved hjelp av download.php?id=FIL-ID

 

Dette scriptet vil nok ikke funke, som sagt en stund siden jeg drev med dette, men det gir deg ihvertfall en pekepinn.

Lenke til kommentar

Problemet med bruk av headers slik du viser, er at brukeren bare blir videresent til den egentlig adressen og da er den plutselig ikke veldig hemmelig lenger. Det du må gjøre er å lese og skrive ut filen med scriptet. Ta en titt på readfile().

Lenke til kommentar

Noe slikt da :)

 

<?php

$fil1 = 'filnavn.jpg';
$fil2 = 'filnavn2.mp3';

$fileget = $_GET['id'];

if ($fileget == 1){
$file = $fil1;
}

elseif ($fileget == 2){
$file = $fil2;
}

if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>

Lenke til kommentar
Takk for at du tok deg tid til å skrive ned dette.

Men jeg har allerde funnet en løsning med .htaccess og rewriterule.

Den funker perfekt :) men takk igjen for at du tok deg av tid.

Aha, du har en løsning hvor en request mot filen, blir henvist til et php-script? Litt nysgjerrig, del løsningen med oss da vel! :-)

 

Selv ville jeg ha løst problemet med å i første omgang ikke hatt filene under www/[mappe®/some_file.ext, men istedet puttet filene i en katalog på serveren som ikke kan aksesseres utenifra. Koden min hadde så brukt file_get_contents() eller lignende funksjoner for å lese inn innholdet - som så blir dyttet ut til klienten vha header(). Altså mye det samme som hva timb foreslår.

Lenke til kommentar
Takk for at du tok deg tid til å skrive ned dette.

Men jeg har allerde funnet en løsning med .htaccess og rewriterule.

Den funker perfekt :) men takk igjen for at du tok deg av tid.

Aha, du har en løsning hvor en request mot filen, blir henvist til et php-script? Litt nysgjerrig, del løsningen med oss da vel! :-)

 

Selv ville jeg ha løst problemet med å i første omgang ikke hatt filene under www/[mappe®/some_file.ext, men istedet puttet filene i en katalog på serveren som ikke kan aksesseres utenifra. Koden min hadde så brukt file_get_contents() eller lignende funksjoner for å lese inn innholdet - som så blir dyttet ut til klienten vha header(). Altså mye det samme som hva timb foreslår.

 

Ah, men ja, man behover ikke php i det hele tatt..

 

Her er .htaccess

 

RewriteCond %{QUERY_STRING} ^tunes$

RewriteRule ^$ /music.php [L]

 

Noe som betyr at man kan skrive http://media.calamity.org/?tunes i browseren..

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...