Avatar billede emureactor Nybegynder
07. april 2003 - 19:15 Der er 15 kommentarer og
1 løsning

Mangler hjælp til download script

Hejsa - jeg kører med et temmelig simpelt download script men lortet vil sgu ikke virke og jeg er ved at gå bananas, det er sådan at scriptet har virket fint før men med den nye version of php vil den ikk snuppe det !

Here goes the script:

<?php

//siden hvor man skal føres hen hvis man ikke kommer fra domain.com
$ADMIN[defaulturl] = "http://www.domain.com";

//sider hvor man har tilladelse til at downloade
$okaysites = array("http://www.domain.dk","http://www.doman.com");   
//links til de biblioteker hvor filerne ligger:
$ADMIN[url_1] = "http://www.domain.com/files/";
$ADMIN[url_2] = "http.domain.dk/files2/";

//osv osv         

//her er selve koden

$reffer = $HTTP_REFERER;
if($reffer) {
  $yes = 0;
  foreach($okaysites as $okaysite) {
    if (eregi($okaysite, $reffer)) {
      $yes = 1;
    }
  }
  $theu = "url_"."$site";
  if ($ADMIN[$theu] AND $yes == 1) {
    header("Location: $ADMIN[$theu]/$file");
  }
  else {
    header("Location: $ADMIN[defaulturl]");
  }
}
else {
  header("Location: $ADMIN[defaulturl]");
}

?>


Hvad kan der være galt ? Hvis du kan løse problemet vil jeg være din fan i 100 år da jeg virklig mangler det ! Tak !
Avatar billede schaefner Juniormester
07. april 2003 - 19:23 #1
Prøv:

<?php
//siden hvor man skal føres hen hvis man ikke kommer fra domain.com
$ADMIN[defaulturl] = "http://www.domain.com";
//sider hvor man har tilladelse til at downloade
$okaysites = array("http://www.domain.dk","http://www.doman.com");   
//links til de biblioteker hvor filerne ligger:
$ADMIN[url_1] = "http://www.domain.com/files/";
$ADMIN[url_2] = "http.domain.dk/files2/";

//osv osv         

//her er selve koden

$reffer = $_SERVER['HTTP_REFERER'];
if($reffer) {
    if(in_array($reffer, $okaysites)) {
      $yes = 1;
    }
    $theu = "url_"."$site";
    if ($ADMIN[$theu] && $yes == 1) {
        header("location: $ADMIN[$theu]/$file");
    } else {
        header("location: $ADMIN[defaulturl]");
    }
} else {
    header("location: $ADMIN[defaulturl]");
}
?>
Avatar billede emureactor Nybegynder
07. april 2003 - 19:26 #2
Samme resultat. Når man klikker på linket fører den til $ADMIN[defaulturl] i stedet for at hente filen...men lad forslagene komme !
Avatar billede schaefner Juniormester
07. april 2003 - 19:37 #3
<?php
//siden hvor man skal føres hen hvis man ikke kommer fra domain.com
$admin[] = "http://www.domain.com";
//sider hvor man har tilladelse til at downloade
$okaysites = array("http://www.domain.dk","http://www.doman.com");   
//links til de biblioteker hvor filerne ligger:
$admin[] = "http://www.domain.com/files/";
$admin[] = "http.domain.dk/files2/";

//osv osv         

//her er selve koden

$reffer = $_SERVER['HTTP_REFERER'];
if(isset($reffer)) {
    if(in_array($reffer, $okaysites) && $admin[$site] != "") {
        header("location: $admin[$site]/$file");
    } else {
        header("location: $admin[0]");
    }
} else {
    header("location: $admin[0]");
}
?>
Avatar billede emureactor Nybegynder
07. april 2003 - 19:41 #4
hmmm stadigvæk samme resultat...jeg fatter det simpelthen ikke!!!!!????
Avatar billede schaefner Juniormester
07. april 2003 - 19:55 #5
hvor får du variablen $site fra?
Avatar billede emureactor Nybegynder
07. april 2003 - 21:57 #6
jeg ved ikk en skid om php...ved bare det ikke virker :D

kan man omskrive scriptet ?
Avatar billede schaefner Juniormester
07. april 2003 - 22:18 #7
Prøv den her:

<?php
//siden hvor man skal føres hen hvis man ikke kommer fra domain.com
$admin[] = "http://www.domain.com";
//sider hvor man har tilladelse til at downloade
$okaysites = array("http://www.domain.dk","http://www.doman.com");   
//links til de biblioteker hvor filerne ligger:
$admin[] = "http://www.domain.com/files/";
$admin[] = "http.domain.dk/files2/";

//osv osv         

//her er selve koden

$reffer = $_SERVER['HTTP_REFERER'];
if(isset($reffer)) {
    $site = $_REQUEST['site'];
    if(in_array($reffer, $okaysites) && $admin[$site] != "") {
        header("location: $admin[$site]/$file");
    } else {
        header("location: $admin[0]");
    }
} else {
    header("location: $admin[0]");
}
?>
Avatar billede emureactor Nybegynder
07. april 2003 - 22:34 #8
det virker ikk men det er da også bygget op på en underlig måde ? hvordan linker man til filerne ?

jeg bruger normal http://www.domain.dk/download.php?site=1&file=filename.zip
Avatar billede schaefner Juniormester
07. april 2003 - 23:01 #9
<?php
$mirrors = array("http://www.disneyzone.dk/files","http://www.disneyzone.dk/files1","http://www.disneyzone.dk/files2");
$okaysites = array("http://www.domain.dk","http://www.doman.com"); 

$id = $_GET['id'];
$fil = $_GET['fil'];

if($mirrors[$id] != "") {
    header("location: $mirrors[$id]/$fil");
} else {
    header("location: http://www.domain.com");
}
?>

download.php?id=0&fil=navn.zip
Avatar billede schaefner Juniormester
07. april 2003 - 23:02 #10
nææh, prøv den her:

<?php
$mirrors = array("http://www.disneyzone.dk/files","http://www.disneyzone.dk/files1");

$id = $_GET['id'];
$fil = $_GET['fil'];

if($mirrors[$id] != "") {
    header("location: $mirrors[$id]/$fil");
} else {
    header("location: http://www.domain.com");
}
?>

download.php?id=0&fil=navn.zip
Avatar billede emureactor Nybegynder
08. april 2003 - 12:37 #11
men hvor tjekker den at man kommer fra www.domain.dk ? Det skulle gerne virke som et antileech script jo...
Avatar billede emureactor Nybegynder
08. april 2003 - 17:09 #12
Scriptet virker men den tjekker ikke hvorfor man kommer + at når man skriver et bevidst forkert filnavn ind så kan man se hele URL til download biblioteket
Avatar billede schaefner Juniormester
08. april 2003 - 17:11 #13
<?php
$ok = array("http://www.domain.dk","http://www.doman.com");   
$mirrors = array("http://www.disneyzone.dk/files","http://www.disneyzone.dk/files1");

$referer = $_SERVER['HTTP_REFERER'];
$id = $_GET['id'];
$fil = $_GET['fil'];

if(in_array($referer,$ok) && $mirrors[$id] != "" ) {
    header("location: $mirrors[$id]/$fil");
} else {
    header("location: http://www.domain.com");
}
?>

Er du sikker på at adressen du kommer fra ikke er f.eks www.domain.dk/mappe/ ?
Avatar billede schaefner Juniormester
08. april 2003 - 17:16 #14
Prøv evt.:

<?php
$mirrors = array("http://www.disneyzone.dk/files","http://www.disneyzone.dk/files1");

$referer = $_SERVER['HTTP_REFERER'];
$id = $_GET['id'];
$fil = $_GET['fil'];

if(eregi("www.domain", $referer) && $mirrors[$id] != "" ) {
    header("location: $mirrors[$id]/$fil");
} else {
    header("location: http://www.domain.com");
}
?>
Avatar billede schaefner Juniormester
08. april 2003 - 17:38 #15
.
Avatar billede emureactor Nybegynder
08. april 2003 - 19:20 #16
du har lige reddet mit liv...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester