Avatar billede Slettet bruger
08. november 2012 - 16:12 Der er 8 kommentarer og
1 løsning

anti leech system

Hej eksperter :)

- Jeg har nu i godt 1 time søgt efter den korrekte måde for mig at lave et anti leech system til mit næste projekt som jeg ikke vil kommer alt for meget ind på

Men til det skal jeg bruge et system som gør at den opregnlige sti til f.eks fil.zip ikke kan spores på serveren
altså hvis jeg kigger i kildekoden står der <a href="filer/dl/fil.zip".....</a>

det vil jeg gerne undgå således at man ikke bare kan kopier url'en og sende den til f.eks en ven eller 5 ;)

jeg har selv bikset lidt med det men har ikke fundet et brugbart resultat. her er den kode jeg pt. har lavet:

_____________________________________

<?php
include $_SERVER["DOCUMENT_ROOT"]."/config.php";

$sql_check_dl = mysql_query("select * from dl where link = '".$_GET["dl"]."'")or die(mysql_error());
$echo_sql_check_dl = mysql_fetch_array($sql_check_dl);

$sql_check_df = mysql_query("select * from df where id = '".$echo_sql_check_dl['fid']."'")or die(mysql_error());
$echo_sql_check_df = mysql_fetch_array($sql_check_df);

if(mysql_num_rows($sql_check_dl) > 0)
{

    echo "<script>\n";
    echo "window.location = 'filer/dl/".$echo_sql_check_df['filnavn'].".zip'\n";
    echo "</script>\n";
}
_____________________________________

Downloader man filen eller annuller man og derefter kigger i kildekoden ser man følgende:

_____________________________________

<script>
window.location = 'filer/dl/zip2.zip'
</script>
_____________________________________

Jeg beder ikke om at få kodet systemet men derimod nogle ider til hvordan det evt. skal laves!

//Mikkel
Avatar billede olebole Juniormester
08. november 2012 - 16:26 #1
<ole>

Allerførst ville jeg gå over til mere tidssvarende databasekode. PHP's MySQL-API er usikkert og forældet, og din kode står pivåben for SQL-injection angreb.

Det er ikke helt ukompliceret at lave det, du beder om - hvis det skal være effektivt. Det bedste er at lave et loginin og så tjekke, om brugeren, der forsøger at hente filen er logget ind.

Zippen kan du lægge over webroot, så den ikke kan tilgås direkte. Så kan brugeren kalde en fil getzip.php, som læser zippen og udskriver den til browseren med korrekte headers, så den downloades. Er brugeren ikke logget ind, læses filen ikke, men brugeren redirectes til en besked og login form

/mvh
</bole>
Avatar billede olebole Juniormester
08. november 2012 - 16:27 #2
Hvad opdatering af din databasekoden angår, kan du passende begynde her
Avatar billede Slettet bruger
08. november 2012 - 17:02 #3
#1> Nu er alt det jeg har lavet kun så jeg havde en teori om hvordan det evt. kunne bygges sammen :)
Avatar billede moddi100 Seniormester
08. november 2012 - 18:25 #4
Avatar billede Slettet bruger
08. november 2012 - 18:37 #5
Der er så et andet problem som jeg af min egen fejl ikke har oplyst i min tråd.

De besøgende på min side skal selv have mulighed for at uploade downloads til systemet, derfor har jeg efter hvad jeg selv mener ikke mulighed for at benytte htaccess da den så skal ændres hver gang nogle har uploadet noget nyt?
Avatar billede olebole Juniormester
08. november 2012 - 18:43 #6
Så læs tråden igen. Der står ingen filnavne i htaccess-filen. De beskyttede filnavne står i et PHP-array
Avatar billede Slettet bruger
10. november 2012 - 21:03 #7
Årh tak for det, Går ud fra det vil virke. så smid et svar så får du nogle point :)
Avatar billede moddi100 Seniormester
12. november 2012 - 19:52 #8
Det ville da være en god ide at teste om det virkede først..
Avatar billede Slettet bruger
17. november 2012 - 14:13 #9
Jeg får ikke brug for det alligevel før i en senere version af websiden, derfor :)
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