Avatar billede hypermind Nybegynder
01. november 2000 - 13:32 Der er 5 kommentarer og
1 løsning

NoLeech script virker ikke

Hej - Er der et klogt hovede der kan se hvor det går galt i nedenstående script?

siden bliver kaldt med kommandoen:
<a href=\"noleech.php?sti=game?filename=testfil.zip\">Download testfil</a>



<?php

$go = 0;  // assume failure
$redirectpage = \"nejnejogatternej.php\";  //where to go if the query is valid
$validreferer = \"http://www.homepage.dk/test/download.htm\";  // allowed calling pages
$path = \"/home/hypermind/test/$sti\";



// check for valid refererring address.
if (getenv(\"HTTP_REFERER\") == $validreferer)
    { $go=1;}

explode($path,$filename);


// if ($path == \"\" || $filename == \"\") {$go = 0;}


if ($go == 1)
{

    // no need to go anywhere after this, since the file downloads straight from the link.
    header(\"Content-Disposition: atachment; filename=$filename\");
    header(\"Content-Type: application/octet-stream\");
    header(\"Content-Length: \".filesize(\"$path/$filename\"));
    header(\"Pragma: no-cache\");
    header(\"Expires: 0\");
    $fp=fopen(\"$path/$filename\",\"r\");
    print fread($fp,filesize(\"$path/$filename\"));
    fclose($fp);
    exit();
}

// use a header redirect. You CANNOT add any HTML before this.

if ($go == 0)
{
    header(\"Location: $redirectpage\");
}
?>
Avatar billede hypermind Nybegynder
01. november 2000 - 13:35 #1
<?php

Hov - Eksperten omdanner
$validreferer = \"http://www.homepage.dk/test/download.htm\";  sådan at der står 2 stk. \';\' (2 stk. semikollon)
Avatar billede Lasse Novice
01. november 2000 - 14:07 #2
du mangler et t i attachment i headeren
Avatar billede redhead Nybegynder
01. november 2000 - 14:09 #3
Du skal ikke kalde filen med <a href=\"noleech.php?sti=game?filename=testfil.zip\">Download testfil</a>

men med <a href=\"noleech.php?sti=game&filename=testfil.zip\">Download testfil</a>

Læg mærke til at jeg har udskfitet ? med &
Avatar billede redhead Nybegynder
01. november 2000 - 14:11 #4
Hvad med at lave en else?
Avatar billede Lasse Novice
01. november 2000 - 14:14 #5
hvad med at bytte om p åde to if-blokke også skriv exit efter (if go==0). Derved kan du skippe den ene if sætning helt. ikke noget med else og alt det der :-)
Avatar billede hypermind Nybegynder
01. november 2000 - 15:06 #6
Takker for alle de gode råd :-)
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