Avatar billede globa Nybegynder
15. september 2000 - 19:05 Der er 18 kommentarer og
1 løsning

Anti Leech

Jeg er på jagt efter et PHP script der kan beskytte en samling zip filer fra at blive \"leeched\" fra andre websites.

Noget der kan checke HTTP_REFERER eller et snedigt system der skjuler stien til filen således at linket fx.hedder noget med \"noleech.php?hopla.zip\" men stadig så snedigt at stien til filen ikke vises i Getright eller FlashGet.

Jeg fandt et script på http://home.support.nl/~lemmen/anti-leech/ men det kan (tilsyneladende) desværre kun printe indholdet af en variabel lige efter hinanden og jeg er interresseret i af have en masse formateringskode mellem hvert link (op til 40 link til zip-filer på hver side)

Er der en PHP kyndig der kender en go\' løsning eller kan tilpasse det ovennævnte script?
Avatar billede razor Nybegynder
15. september 2000 - 20:57 #1
download.php:
<?php
if (ereg(\"^http://www.dinside.dk.*$\",$HTTP_REFERER)) {
  header(\"Location: http://www.dinside.dk/fil/$fil\");
  exit;
} else {
  print \"Lamerz sucks!\";
}
?>

skal kaldes med download.php?$fil=razor.zip
dette vil hente http://www.dinside.dk/fil/razor.zip til download
Avatar billede razor Nybegynder
15. september 2000 - 20:59 #2
husk lige på at flashget også gemmer HTTP_REFERER :o)
Avatar billede globa Nybegynder
15. september 2000 - 21:25 #3
Hej Razor - Scriptet virker fint men kunne man indbygge lidt mere røgslør ? Lemmen\'s anti-leech script skjuler HTTP_REFERER ganske godt ... man kan faktisk slet ikke se (!) selve stien til filen nogen steder. Det *er* altså 300 point der er på højkant :-)
Avatar billede razor Nybegynder
15. september 2000 - 21:30 #4
download.php:
<?php
$files = Array(\"\",
\"skummelt.mp3\",
\"skummelt-1.mp3\",
\"skummelt-2.mp3\");
if ((ereg(\"^http://www.dinside.dk.*$\",$HTTP_REFERER)) && ($id) && ($id<(sizof($files)-1)) ) {
  header(\"Location: http://www.dinside.dk/fil/$files[$id]\");
  exit;
} else {
  print \"Lamerz sucks!\";
}
?>

vil så hente skummelt.mp3 hvis download.php?id=1 bliver så skummelt.mp3 - download.php?id=2 bliver så skummelt-1.mp3 osv.

sig lige til hvis der er fejl.. jeg har ikke testet
Avatar billede razor Nybegynder
15. september 2000 - 21:31 #5
lidt sort forklaring *Ggg*
Avatar billede globa Nybegynder
15. september 2000 - 21:40 #6
Sort snak og skumle mp3 filer - det spiller bare :-))

Værre er det med scriptet: \"Call to undefined function: sizof() \"
Avatar billede razor Nybegynder
15. september 2000 - 21:46 #7
sizeof()

ups :o)
Avatar billede razor Nybegynder
15. september 2000 - 21:48 #8
altså
<?php
$files = Array(\"\",
\"skummelt.mp3\",
\"skummelt-1.mp3\",
\"skummelt-2.mp3\");
if ((ereg(\"^http://www.dinside.dk.*$\",$HTTP_REFERER)) && ($id) && ($id<(sizeof($files)-1)) ) {
  header(\"Location: http://www.dinside.dk/fil/$files[$id]\");
  exit;
} else {
  print \"Lamerz sucks!\";
}
?>
Avatar billede globa Nybegynder
15. september 2000 - 21:55 #9
Svartiden fra serveren giver hele stien i statuslinjen på browseren :-(
Med risiko for at afsløre mit manglende kendskab til programmering og servere:
Kan man CHMOD\'e en fil/directory og lade PHP scriptet \"låse op\" for filen. Så ville alle problemer være løst :-)
Avatar billede razor Nybegynder
15. september 2000 - 22:00 #10
så laver vi en:
<?php
$files = Array(\"\",
\"skummelt.mp3\",
\"skummelt-1.mp3\",
\"skummelt-2.mp3\");
if ((ereg(\"^http://www.dinside.dk.*$\",$HTTP_REFERER)) && ($id) && ($id<(sizeof($files)-1)) ) {
  readfile(\"http://www.dinside.dk/fil/$files[$id]\");
  exit;
} else {
  print \"Lamerz sucks!\";
}
?> 
Avatar billede globa Nybegynder
15. september 2000 - 22:05 #11
Hehehe ... Nu fortolker browseren zip-filen som HTML. Her er en lille smagsprøve:

PK\\ŒJ(rÄ{Ð$ü&Ï>\' Moorhuhn.dat|ºsp%Lô6Û¶\'¶íL2ÉĶí‰ycc‚‰mÛ¶mÛ¶sï÷þv·¾ªÝÚÝ®þ£««ºëà9}ž>u<7®u¢½é‘ž)~L7ìh_qƒ“Aß|\'KÜ–0¤Wt¥Ýã[qö ß)z!‰¿7/ÍcsSi˜Rà£ä91Þ¥ùžÁž?uÌÍ6ð!‹…Bóùe­×œàd(ßÃm²¡EKß½6à(§²~ê*Èä:&{ r\"‹ß›Cœ$ÝOùÌ·´ªÉ´·‹—~†¦cî–ų®ùAÊ;¥Ì6:—H4_Ù·ºbkśݗgã…ë$|j¨jU{~֍RÝañ¿Ü&éøj%âÞ2ÇúÑÿÅsvS¿P.öî\\¹Z:Æì4øç “k1~½ È


:-))
Avatar billede globa Nybegynder
15. september 2000 - 22:22 #12
<?php
$files = Array(\"\",
\"skummelt.mp3\",
\"skummelt-1.mp3\",
\"skummelt-2.mp3\");
if ((ereg(\"^http://www.dinside.dk.*$\",$HTTP_REFERER)) && ($id) && ($id<(sizeof($files)-1)) ) {
 
Header ( \"Content-Type: application/octet-stream\");
Header( \"Content-Disposition: attachment; filename=$files[$id]\");
{
  readfile(\"http://www.dinside.dk/fil/$files[$id]\");
  exit;
} else {
  print \"Lamerz sucks!\";
}
?> 

Nu er det da vist din tur til at gi\' mig point :-))
Avatar billede razor Nybegynder
15. september 2000 - 22:24 #13
det var lige den jeg ville til at komme med :o)
Avatar billede globa Nybegynder
15. september 2000 - 22:27 #14
Ållrighty :-)
Ehrmm - kunne jeg få dig til at hjælpe mig med den sidste værdi:

Header - Content-Length

Så slipper jeg de 300 point. På spejder-ære :-))
Avatar billede razor Nybegynder
15. september 2000 - 22:29 #15
hvad vil du bruge den til ? den sætte apache selv...
Avatar billede globa Nybegynder
15. september 2000 - 22:32 #16
Nope - ikke med dette script. På den anden side kan det jo måske være ligemeget .. ?
Avatar billede razor Nybegynder
15. september 2000 - 22:34 #17
ja :o) - det gør også at flashget starter flere connections af gangen
Avatar billede globa Nybegynder
15. september 2000 - 22:37 #18
Hehehe - De gode argumenter vil ingen ende tage :-)
Tak for hjælpen Razor
Avatar billede razor Nybegynder
15. september 2000 - 22:38 #19
\'så lidt :o)
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