Gå til innhold

FIL NEDLASTING


Anbefalte innlegg

Hei!

 

Jeg lurte på hvordan jeg kunne lage en nedlastningside der man kan laste ned .zip og .rar filer. I HTML er det lett, men problemet der er at folk linker direkte til filen og ikke siden. F.eks http://minside.com/Mirc.rar

Men med PHP har jeg sett at man kan bruke http://minside.com/lastned.php?=Mirc

Eller noe lignende.

 

Jeg lurte på hvordan man lager en sånn php side. Gi gjerne eksempler slik at det er lett å forstå. Please ikke link til php.net og be meg lese tutorialen der :D

 

+noen som vet hvordan man lager sånne sider som http://datadyret.monror.com/

BraSide.JPG

Endret av DllInjexion
Lenke til kommentar
Videoannonse
Annonse

Du kan også hindre at folk laster ned filer uten å besøke siden din ved å sende de på mail til brukeren. Da må brukeren besøke siden din og taste inn e-post adressen sin for å få tilgang til filene.

 

Vet også at det noen som beskytter filene i en htaccess mappe - og kopierer de ut en download mappe med et tilfeldig navn og viser linken til brukeren når en han/hun vil laste den ned - og kjører et script via en cron job som sletter filene når de er f.eks. mer enn 1 time gammle.

 

På denne måten blir alle linkene ubruklige når de er over 1 time gamle!

 

Dette er en ganske komplisert måte og krever mye diskplass dersom det er veldig mange nedlastninger samtidig - men det hindrer i alle fall at folk kan laste ned filer uten å besøke siden din!

Lenke til kommentar
  • 3 uker senere...

for å få nice url til nedlasting kan du vel bruke noe sånt kanskje

 

lastned.php:

<?php

$fil=$_GET['fil']

Header("Location: download/$fil.zip");
?>

 

da vil url bli lastned.php?fil=mirc

 

Men da må du bruke *.zip filer bare, og ligge i download mappa.

 

Kan kanskje være kjekt å sjekke om fil er der. Ikke forska så mye på det enda.... sikkert noen andre som kan

Lenke til kommentar

Den beste måten å lage filene dine "sikre" er å lagre dei under web path.

 

Og deretter bruke "symlink" til å linke til fila når ein bruker trykker på linken som du har på siden din.

 

Vist du lager scriptet rett så fungerer dette veldeg bra.

 

Du kan bruke md5 hash for å lage random fil nedlastings linker, og deretter slette symlinkene etter at brukeren har startet å laste ned fila.

Lenke til kommentar

for å først stoppe såkalt hotlinking (mest brukt på bilder men selfølgelig andre filer også):

 

legg en .htaccess fil i mappa du skal beskytte og skriv dette inni den:

SetEnvIfNoCase Referer "^http://din.server.her/" locally_linked=1
SetEnvIfNoCase Referer "^http://din.server.her$" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1
<FilesMatch "\.(zip|rar|gz|tgz|bz2)$">
 Order Allow,Deny
 Allow from env=locally_linked
</FilesMatch>

 

da kan du egentlig bruke direkte linker selv for ingen andre vil få mulighet til å bruke det, riktignok går det an å komme forbi dette ved en enkel refresh, men hvis det f.eks gjelder bilder så vil ikke andre folk få brukt bildene fra din server på andre servere...

Lenke til kommentar
takk magikern

 

men "SetEnvIfNoCase Referer "^http://din.server.her$" locally_linked=1"

hva står linked = 1 <--en tallet for?

er egentlig ikke 100% sikker på det da jeg fant koden på inet for en stund siden i den formen den er, men hvis jeg skal gjette så tror jeg "1" bare betyr "true"

Lenke til kommentar
+noen som vet hvordan man lager sånne sider som http://datadyret.monror.com/

BraSide.JPG

Her har du det jeg bruker:

 

<?php
if(IsSet($_GET['section']) && file_exists($_GET['section']."_include.php"))
{
include($_GET['section']."_include.php");
} else {
include("main_include.php");
}
?>

 

Dette blir legger du i index.php hvor du vil at filene skal åpnes.

Du må også ha en main_include.php, som er den filen som åpnes når noen går inn på siden.

 

Da kaller du alle de andre filene dine for "dinfil_include.php".

Så linker du til dem ved å ha en link som f.eks:

<a href="index.php?section=dinfil"> LinkNavn </a>

 

Håper dette hjalp. Og hvis det var noe du lurte på så er det bare til å spørre.

 

DanielP

 

Bruker denne selv og den fungerer helt perfekt til det jeg tror du spurte om

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å
  • Hvem er aktive   0 medlemmer

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