/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Simpel download beskyttelse
Fra : N. Christensen


Dato : 15-09-05 10:42

Jeg søger et anti-leech download-script i stil med det her:

http://www.entensity.net/?content=php_scripts (Download Protector)
http://www.entensity.net/cgi-bin/anti/download.cgi?Downloadprotector

Problemet med det her script er jeg faktisk ikke kan få det til at
virke, plus jeg meget gerne ville have et script som samtidigt havde
mulighed for at tælle hvor mange gange at en fil var blevet hentet.
Jeg har søgt lidt frem og tilbage på Google. Men dem jeg har fundet,
har alle kostet penge. Tak på forhånd.

--
N. Christensen


 
 
Christian Joergensen (15-09-2005)
Kommentar
Fra : Christian Joergensen


Dato : 15-09-05 21:09

"N. Christensen" <isonick@gmail.com> writes:

> Jeg søger et anti-leech download-script i stil med det her:

Vil du vaere interesseret i at programmere det selv? Så kan jeg nemlig
godt give dig et par hints.

(Det burde ikke tage meget mere end 2-3 timer selvom du er helt ny)

--
Christian Jørgensen | Never make any mistaeks.
http://www.razor.dk |

Christoffer (15-09-2005)
Kommentar
Fra : Christoffer


Dato : 15-09-05 21:19


"Christian Joergensen" <mail@razor.dk> skrev i en meddelelse
news:87psraw0sp.fsf@roevguitar.razor...
> "N. Christensen" <isonick@gmail.com> writes:

> Vil du vaere interesseret i at programmere det selv? Så kan jeg nemlig
> godt give dig et par hints.
Er ude efter et lignende system selv, vil du ligge et par hints her på
usenet?

> Christian Jørgensen | Never make any mistaeks.
Går ud fra du mener mistakes.


--
Christoffer



Christian Joergensen (16-09-2005)
Kommentar
Fra : Christian Joergensen


Dato : 16-09-05 01:17

"Christoffer" <christoffer@buur.info> writes:

> > Vil du vaere interesseret i at programmere det selv? Så kan jeg nemlig
> > godt give dig et par hints.

> Er ude efter et lignende system selv, vil du ligge et par hints her på
> usenet?

Lad os forestille os at du har følgende katalogstruktur:

./files/
./public_html/download.php
./public_html/list_files.php

For at beskytte downloads således at der kun kan downloades fra vores egen
side, skriver vi en session-variabel:

$_SESSION['can_download'] = true;

I download.php laver vi først en kontrol på om vores session-variabel findes
og er true. Hvis den er det, kan vi begynde download. Da vi ikke har filerne
liggende indenfor web-virkefeltet, benytter vi readfile() til at hente dem.
Dog skal vi lige huske at udskrive korrekt Content-Type, saaledes at
browseren kan fortolke hvad den vil goere med filen:

header("Content-Type: ".mime_content_type($filename));
readfile($filename);
exit;

Dog er det ret vigtigt at holde styr på at filen man forespoerger findes i
../files/ og ikke fx. er ../../../etc/passwd o.lign. Det plejer jeg at gøre
ved at køre en realpath() på mit færdige absolutte filnavn og kontrollere
at den absolutte sti til ./files/ er et praefiks.

For at holde styr på hvormange der har hentet en given fil, kan vi lave en
lille database:

CREATE TABLE downloads (
filename CHAR(32) NOT NULL,
count INT UNSIGNED NOT NULL,
PRIMARY KEY(filename)
);

Før vi sender filen til browseren (readfile()) sørger vi så for at opdatere
databasen:

SELECT COUNT(1) FROM downloads WHERE filename = ?

Hvis resultatet er 1:

UPDATE downloads SET count = count + 1 WHERE filename = ?

Ellers:

INSERT INTO downloads (filename, count) VALUES (?, 1)

I list_files.php kan vaerdien saa hentes ud med:

SELECT count FROM downloads WHERE filename = ?

Giver det mening?

> > Christian Jørgensen | Never make any mistaeks.
> Går ud fra du mener mistakes.

(Det var joken ;-P)

--
Christian Jørgensen | Use the Source, Luke!
http://www.razor.dk |

N. Christensen (19-09-2005)
Kommentar
Fra : N. Christensen


Dato : 19-09-05 12:11

>>> Vil du vaere interesseret i at programmere det selv? Så kan jeg
>>> nemlig godt give dig et par hints.

Jeg er ikke for stærk i PHP. Så hvis du evt. havde et link til et
færdig script? Så vil jeg selv prøve at tilpasse det.

--
N. Christensen



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste