Up/Download Script met Statistieken

Door Sander de Vos, 13 jaar geleden, 5.067x bekeken

Mijn simpele Up/Download script.

Wat zit erin?
- Upload script van Paradox™
- Download script met aftellen
- Statistieken (id,filenaam,aantal downloads)
- Verwijderen (file en stats in db)

Gesponsorde koppelingen

PHP script bestanden

  1. updownload-script-met-statistieken

 

Er zijn 17 reacties op 'Updownload script met statistieken'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Steen
steen
13 jaar geleden
 
0 +1 -0 -1
"beveiliging" is makkelijk te omzeilen. Gebruik PHP voor zoiets, geen javascript. Werk met twee timestams (time()) en controleer of er ook écht een bepaalde tijd is verstreken.
Sander de Vos
Sander de Vos
13 jaar geleden
 
0 +1 -0 -1
En daarom is het dus ook 'simpel'. Beveiliging? Je bedoelt dat iemand toevallig een md5 van een dubbele rand van 1 tot 9999 raad? Dit script is bedoelt om bijvoorbeeld snel even een file online te zetten en dan vervolgens door te geven aan een vriend op msn ofzow.

En beveiliging voor het verwijderen van files is zelf ook erg simpel te maken, door bijvoorbeeld een extra tabel in stats te maken en zo de ip van de uploader en downloader vergelijken.
Joren de Wit
Joren de Wit
13 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$newname
= md5(rand(rand(1, 9999), rand(1, 9999))) . "." . $fext;
?>

Dit is nutteloos. De nieuwe filename wordt er echt niet meer random op door deze methode, sterker nog het wordt juist minder random! Maar al met al blijft het een md5 hash van een waarde tussen 1 en 9999 waardoor je dus nog maximaal 9999 unieke files kunt opslaan. (En voordat dat het geval is, heb je al honderden of duizende andere bestanden overschreven aangezien de kans dat je de md5 hash van 1 of 9999 te pakken hebt zeer klein is)

Nuttiger zou bijvoorbeeld de md5 hash van de huidige timestamp met een bepaalde $salt zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$newname
= md5(time() . 'mijn_salt');
?>

Deze zal altijd anders zijn, tenzij twee bestanden op dezelfde seconde toegevoegd worden. Het enige dat je dan nog kunt doen (en wat je zou moeten doen) is controleren of de bestandsnaam al bestaat.

Verder ontbreekt in dit script de nodige controles of variabelen wel bestaan voordat je ermee werkt. En tenslotte mogen de variabelen ook buiten quotes gehaald worden, het zijn immers geen strings.
Milo
Milo
13 jaar geleden
 
0 +1 -0 -1
Even nog een aanvulling op blanche..

Er zit geen enkele maar dan ook echt niet 1! check of de query wel goed is gegaan :S

Gr,
Sander de Vos
Sander de Vos
13 jaar geleden
 
0 +1 -0 -1
Gefixed...
Victor Php
Victor Php
13 jaar geleden
 
0 +1 -0 -1
variable buiten quotes! =)
(Yeuuhh.. ik zie een fout :P)

In je stats.php

$row moet buiten de quotes. (")
Bas IJzelendoorn
Bas IJzelendoorn
13 jaar geleden
 
0 +1 -0 -1
Hmm, Ik snap de } niet bij index.php regel 38

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
    } else {
        $fout = "Uploadfout! Als het oploaden mislukt, zet alles dan in een zip/rar/7z file, en probeer het opnieuw!";
    }} else {
        $fout = "Uw bestand mag niet de tekst 'php' bevatten!";
    }}} else {
        $fout = "Dit bestandsformaat is niet toegestaan!";
    }} else {
        $fout = "Selecteer een bestand om te uploaden.";
    }
}
Steen
steen
13 jaar geleden
 
0 +1 -0 -1
Je kunt gwn het proces(s) van je browser versnellen zodat deze sneller aftelt, of simpeler nog, de javascript var op 0 zetten. Zo download je een bestand zonder tijdslimiet.
Wouter De Schuyter
Wouter De Schuyter
13 jaar geleden
 
0 +1 -0 -1
Ook wat code geleend van een ander script neem ik aan?
Of je hebt wel heel toevallig zelfde naam enzo gebruikt en alles exact hetzelfde van lijn 3 tot en met 32 en misschien nog meer (heb niet verder gekeken) gekopieerd?

http://www.phphulp.nl/php/scripts/2/1572/

zelf mijn zwakke check of php in de naam zit laat je er in staan, in de tijd zoveel kritiek op gekregen van karl..



EDIT:
Echt zwak dat je al m'n comments / credits verwijderd hebt..
Victor Php
Victor Php
13 jaar geleden
 
0 +1 -0 -1
Vermeld dan iniedergeval je bron...
Sander de Vos
Sander de Vos
13 jaar geleden
 
0 +1 -0 -1
Excuus, excuus. Toen ik dit script van phphulp had gehaald (hele tijd geleden) heb ik de comments verwijderd en het script aangepast naar mijn wensen. Ik kon me dus echt niet meer herinneren van wie dat script was en waar ik het toen vandaan had gehaald.

EDIT:
Aangepast en naar mijn mening: opgelost
Wouter De Schuyter
Wouter De Schuyter
13 jaar geleden
 
0 +1 -0 -1
Bedankt Sander ;)
Sander de Vos
Sander de Vos
13 jaar geleden
 
0 +1 -0 -1
Graag gedaan! En alsnog mijn oprechte excuses...
Gianni de Waal
Gianni de Waal
10 jaar geleden
 
0 +1 -0 -1
Ik krijg steeds de melding dat er een fout in de database zit, terwijl ik het toch echt goed heb gedaan!
Sander de Vos
Sander de Vos
10 jaar geleden
 
0 +1 -0 -1
Wow, back in time. Maar ik zal je evengoed proberen te helpen.

Zou je kunnen aangeven wat er precies fout gaat, en wat de volledige foutmelding is?
Gianni de Waal
Gianni de Waal
10 jaar geleden
 
0 +1 -0 -1
Ik faalde een beetje, Bij de config had ik alle gegevens achter de // gezet ipv tussen de "".. Dus is al opgelost.
Is er hierbij trouwens de mogelijkheid dat je een lijst hebt met alles geuploade bestanden en dat mensen die dan aan kunnen klikken om te downloaden?
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Sander de Vos
Sander de Vos
10 jaar geleden
 
0 +1 -0 -1
Nee helaas niet. Dit is ook een erg simpel en redelijk verouderd script. Maar het is wel nog gewoon normaal te gebruiken. Maar ik zou je toch echt aanraden zelf iets opnieuw te maken, of iets als AjaXplorer te gebruiken.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. updownload-script-met-statistieken

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.