Veilig uploaden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

Embedded Developer C++

Functie omschrijving Ben jij op zoek naar een leuke uitdaging als Embedded Developer, zoek dan niet verder! Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een Embedded Developer die graag met Embedded Devices werkt. Je zult verantwoordelijk worden voor het ontwikkelen en onderhouden van diverse producten. Jouw specialisatie ligt op het vlak van software, hardware en back-end. Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

REMOTE - Front-end Angular developer

Functie Het IT-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn momenteel op zoek naar een ervaren Front-end developer die autonoom en gedisciplineerd aan de slag gaat, en bij aanvang als enige developer met hun Front-end applicaties bezig is. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde

Bekijk vacature »

Senior Front end developer

Functie Wij zijn op zoek naar een ambitieuze, zelfsturende Front-end Expert die ons (internationale) team komt versterken. Onze huidige software development afdeling bestaat uit 7 developers en designers. Wij zijn een écht softwarehuis, dus ervaring in software development is wel echt een must. Er wordt tegelijkertijd aan meerdere projecten gewerkt, voor mooie toonaangevende klanten. Je hebt dus regelmatig te maken met deadlines en opleveringen. Een deel van onze omgeving is in Angular.JS. Dit deel wordt langzamerhand omgebouwd naar de nieuwste versie van Angular. Jouw werkzaamheden zullen bestaan uit: Het aansturen en begeleiden van jouw collega’s Het implementeren van visuele elementen

Bekijk vacature »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

Bekijk vacature »

Freelance Fullstack Java Developer

Functieomschrijving Voor een opdrachtgever in omgeving Rotterdam zijn wij op zoek naar ervaren Fullstack JAVA Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid hebben

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »
Pim -

Pim -

21/08/2011 16:42:27
Quote Anchor link
Dag allemaal!
Omdat ik er niet zo heel vertrouwd mee ben, wil ik jullie vragen dit uploadscript te reviewen. Het is een methode van mijn ImageRepository en het neemt Symfony\Component\HttpFoundation\File\UploadedFile als argument, dat Symfony\Component\HttpFoundation\File\File uitbreidt, dat weer SplFileInfo uitbreidt.
UploadedFile#getClientMimeType() geeft, verrassend genoeg het aangeleverde mime type.
UploadedFile#move($directory, $name) verplaatst de upload naar de definitieve locatie en geeft een Symfony\Component\HttpFoundation\File\File terug.

ImageUploadException is een reguliere exception.

$this->directory.$this->subDirectory is de uiteindelijke locatie (subdirs zijn niet toegestaan)
$this->extensions zijn de toegestane extensies

Is dit (voldoende) veilig?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
class ImageRepository
{
    /**
     *
     * @param UploadedFile $image
     * @return Symfony\Component\HttpFoundation\File\File
     */

    public function add(UploadedFile $image)
    {

        // Guess extension based on mime
        $mime = $image->getClientMimeType();
        $extension = substr($mime, strpos($mime, '/')+1);
        
        if(!in_array($extension, $this->extensions))
                throw new ImageUploadException(
                        'Bestandstype niet toegestaan. Upload een afbeelding'.
                        'met met een van de volgende types: '.
                        implode(', ', $this->extensions)
                );

        
        // Make the name safe to use
        $name = $image->getClientOriginalName();
        $name = basename($name);
        // Delete extension
        $name = substr($name, 0, strrpos($name, '.'));
        // Replace weird characters with an underscore
        $name = preg_replace('/[^a-z0-9]+/i', '_', $name);
        $name = trim($name, '_');

        // Suffix name until it doesn't already exist
        while(file_exists($this->directory.$this->subDirectory.$name.'.'.$extension))
                $name .= '_1';

        $path = $this->directory.$this->subDirectory.$name.'.'.$extension;        

        // Delete image in case of an exception
        try {
            $image = $image->move($this->directory.$this->subDirectory, $name.'.'.$extension);

            $size = getimagesize($path);

            if(!isset($size[0]) || !isset($size[1]))
                throw new ImageUploadException(
                        'De geüploade afbeelding is beschadigd'
                );

            if($size[0] != $this->allowedImageSize[0] || $size[1] != $this->allowedImageSize[1])
                throw new ImageUploadException(sprintf(
                        'Upload een afbeelding met de volgende afmetingen: %d pixels breed en %d pixels hoog',
                        $this->allowedImageSize[0], $this->allowedImageSize[1]
                ));


            return $image;
        }
catch(\Exception $e) {
            unlink($path);
            throw $e;
        }
    }
}
Gewijzigd op 21/08/2011 17:10:41 door Pim -
 
PHP hulp

PHP hulp

15/05/2025 02:34:25
 
Pim -

Pim -

26/08/2011 22:44:32
Quote Anchor link
Bump
 
 - Diov  -

- Diov -

27/08/2011 14:14:48
Quote Anchor link
Heb je een voorbeeldje online?
Kunnen we testen :)
 
Pim -

Pim -

27/08/2011 15:10:10
Quote Anchor link
Haha, dat lijkt me niet de ideale manier om de veiligheid te reviewen...
 
Jaron T

Jaron T

27/08/2011 15:52:21
Quote Anchor link
Quote:
// Suffix name until it doesn't already exist
while(file_exists($this->directory.$this->subDirectory.$name.'.'.$extension))
$name .= '_1';


Niet echt een veiligheidsprobleem, maar wel een 'fout' .. je moet _1 dynamisch ophogen
 
Pim -

Pim -

27/08/2011 17:23:33
Quote Anchor link
Ja daar ben ik me van bewust. Ik vind het eigenlijk werk goed zo.

Toevoeging op 27/08/2011 17:23:59:

Ja daar ben ik me van bewust. Ik vind het eigenlijk wel goed zo.
 
The Force

The Force

27/08/2011 17:48:35
Quote Anchor link
Als iemand een PHP bestand upload met een "image/jpeg" mimetype dan komt hij hier doorheen. Mimetype kan volgens mij gewoon door gebruikers verandert worden en is dus niet te vertrouwen. Zie http://stackoverflow.com/questions/2242391/ensure-that-uploaded-file-is-image-in-php voor alternatieven.
 
Pim -

Pim -

27/08/2011 18:01:11
Quote Anchor link
Daarom check ik toch ook de bestandsgrootte. Dat wordt daar aangegeven.
 
The Force

The Force

27/08/2011 18:32:40
Quote Anchor link
Hé ja, in dat geval niks gezegd. Ziet er veilig uit. Het enige wat ik nog kan bedenken is dat mensen heel vaak gaan uploaden, maar dat zal in de meeste situaties geen gevaar vormen.
 
Pim -

Pim -

27/08/2011 20:36:38
Quote Anchor link
Sowieso kan alleen de admin uploaden ;-)
 



Overzicht Reageren

 
 

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.