Versio

Upload system

Dit is een uploadsystem wat ik zelf heb gemaakt me veel ifs om dingen te controleren groote, type, of het een image is.


Dit systeem is zeer onveilig. De reden dat dit script hier nog staat is omdat die een uitstekend voorbeeld is hoe het niet moet. Voor een veiligere oplossing, kun je hier terecht.[/modedit]

Gesponsorde koppelingen

PHP script bestanden

  1. index.php

 

15 reacties op 'Upload system'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
- Mark -
- Mark -
2 jaar geleden
 
0 +1 -0 -1
Ik vindt hem niet zo mooi in elkaar zitten om eerlijk te zijn.

- Je hebt 0,0 commentaar in je script staan.
- Probeer PHP en HTML wat meer te scheiden.
- gebruik enkele quotes als je HTML echoed. je hoeft dan niet elke dubbele quote te escapen.
- Wat is het nut van $filename = $_FILES['filename']['name']; ?
- Je controle op Geen bestandstype / bestandsnaam is niet correct.
- gebruik geen tabellen voor het opmaken van een formulier.

Tevens is het niet veilig om op deze manier de extentie van een bestand te valideren als ik me niet vergis.
Roel van de Water
Roel van de Water
2 jaar geleden
 
0 +1 -0 -1
Heb je misschien een voorbeeld? Dan kan ik gelijk even laten zien dat het niet veilig is :)
Write Down
Write Down
2 jaar geleden
 
0 +1 -0 -1
@Marc,
Ik weet me ook iets te herinneren i.v.m. veiligheid. Is mime_content_type niet net wat veiliger?
- Mark -
- Mark -
2 jaar geleden
 
0 +1 -0 -1
Die functie is verouderd, dus die moet je niet meer gebruiken. Tevens is het controleren op mime juist niet veilig als ik het me goed herrinner. Te gemakkelijk om te beinvloeden.
Kut Piemel
Kut Piemel
2 jaar geleden
 
0 +1 -0 -1
maar ik vind hem wel goed hij controleert op naam type enzo als jullie hem willen veranderen dan moeten jullie hem zelf maar aanpassen ik ben best wel nieuwbie in php
Vincent Huisman
Vincent Huisman
2 jaar geleden
 
0 +1 -0 -1
als je weet dat je script niet goed is, waarom laat je hem dan niet eerst controleren op het forum in plaats van de lib vol te gooien met niet veilige zooi
Chris
Chris
2 jaar geleden
 
0 +1 -0 -1
Dit script is een uitstekend voorbeeld van hoe het niet moet. Om die reden is de omschrijving aangepast en zal er worden gelinkt naar een betere oplossing.

MIME-types, datgene waar de schrijver op checkt, is onveilig. Dit wordt namelijk door de browser meegegeven en is om die reden 'user-input'. Dat houdt in dat het is te vervalsen en daarmee kun je dus het systeem voor de gek houden.
- Mark -
- Mark -
2 jaar geleden
 
0 +1 -0 -1
@Chris Die betere oplossing waarnaar je linkt is wat verouderd. Ik zie er onderandere eregi in staan. Dit script zal er dus vroeg of later mee ophouden.
Chris
Chris
2 jaar geleden
 
0 +1 -0 -1
Mark, ik zie het inderdaad. Kan jij een andere aanraden? De tutorial van Niels met daarin een upload script is volgens mij een stuk beter, klik.
- Mark -
- Mark -
2 jaar geleden
 
0 +1 -0 -1
Ik zou er uit mijn hoofd geen weten. Die van Niels ziet er inderdaad stukken beter uit.
Niels Kieviet
Niels Kieviet
2 jaar geleden
 
0 +1 -0 -1
Dankje jongens :) Overigens moet die ook wat worden aangepast met wat betere commentaar en betere coding styles etc. Zal ik direct eens doen :) Is alweer een tijdje geleden dat ik die tutorial geschreven heb.

Heb overigens pas geleden ook nog een upload klasse geschreven en die heb ik hier ook geplaatst: klik
Boris lezek peeters
Boris lezek peeters
2 jaar geleden
 
0 +1 -0 -1
Het is een begin:
/*
* Gebruik dit script niet in een live omgeving.
* Dit script is onveilig en een goed voorbeeld
* hoe het niet moet.
*
* Voor een upload class kun je hier terecht:
* http://www.phphulp.nl/php/tutorial/overig/uploadsysteem/705/uploaden-php/1859/
*/
haha
Kut Piemel
Kut Piemel
12 maanden geleden
 
0 +1 -0 -1
@Thee boris: of jij zo goed in php bent
Kees Schepers
kees Schepers
12 maanden geleden
 
0 +1 -0 -1
Dit is een typisch geval waar Subversion of een ander versiebeheer programma zich goed voor zou lonen. Ieder lid zou het script dan kunnen aanpassen en verbeteren met comments erbij en heeft het bitchen nog wat zin ;)
Niels Kieviet
Niels Kieviet
12 maanden geleden
 
0 +1 -0 -1
Ja inderdaad! Een heel goed idee. Het is wel vaker gezegd, maar niemand neemt voor de rest het initiatief! Ja pas geleden had jij iets met een DataGrid, maar toen reageerde er maar een paar mensen..

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

  • Details
  • Kut Piemel
  • 2 jaar geleden
  • 4.628 x bekeken