Automatisch URL aanmaken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie Als .NET developer werk jij samen in een multidisciplinair ontwikkel team met 1-2 Senior .NET developers, twee front-end developers, Data Scientists en één UX designer. Als team werken jullie aan het ontwikkelen van een Cloud based applicatie en aan het stabieler maken van deze applicatie. Ook unit testing gaat erg belangrijk worden in jouw nieuwe functie. Samen met de Senior .NET ontwikkelaar wordt jij verantwoordelijk voor het ontwikkelen van de API. Jullie werken met veel data en incidenteel komen er ook data vraagstukken en zullen er wat queries gedraaid moeten worden. Dit betekend dat jij veel gaat werken met

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. 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 genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

Lead javascript developer Node.js React

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

Bekijk vacature »

PHP Developer - Draag bij aan de maatschappij!

Bedrijfsomschrijving Wil jij als applicatieontwikkelaar deel uitmaken van een gedreven ontwikkelteam en werken aan innovatieve producten? Dan hebben wij dé uitdaging voor jou! Wij zijn op zoek naar een enthousiaste collega die samen met ons de technische ondergrond van onze producten verder wil ontwikkelen met behulp van PHP. Met jouw expertise geef je de finishing touch aan onze producten om jezelf steeds opnieuw weer te verrassen. Functieomschrijving Bij ons staan innovatie en creativiteit centraal. Wij zijn op zoek naar een enthousiaste PHP ontwikkelaar die nieuwe ideeën en inzichten kan inbrengen en daarmee zichzelf en het team verder kan laten groeien.

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

Medior/senior Back-end developer wanted!

Functie Because of the growth within the company, we are looking for reinforcement in the devlopmenttean. As a back-end developer you build the company software that helps us with the primary processes. A fun (internal) project in which you continuously develop the software! You will work in a small team, we have daily stand-ups and a scrum session every fortnight, led by our Scrum Master. During these sessions, you get the opportunity to present your ideas and discuss them with your fellow developers and the Product Owner. Within the development teams, we use Trello, Gitlab, Jiira, Confluence and Boockstack. They

Bekijk vacature »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

Bekijk vacature »

PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen pure PHP code schrijven. Samenwerken met de klantreiziger om onze klanten

Bekijk vacature »

Java Developer

Dit ga je doen Het ontwikkelen van nieuwe software; Het ombouwen van de bestaande software; Zowel back- als front-end software ontwikkelen; Het testen; Het implementeren van de volledig geteste software; Het verzorgen van nazorg en het oplossen van bugs; Het opstellen en bijhouden van procesdocumentatie; Je draagt bij aan het agile/scrum processen van het team. Hier ga je werken Ongetwijfeld heb je een of meerdere producten van deze organisatie in huis. Het proces erachter, daar ben je ongetwijfeld minder bekend mee. Deze opdracht geeft je de kans meer over dit proces te weten te komen en een mooie bijdrage te

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Front end developer binnen het onderwijs

Functie Het doel van dit team is om te zorgen dat de studenten altijd op de hoogte zijn van relevante informatie en de mogelijkheid hebben om online vragen te stellen. Hiervoor hebben ze een portal ontwikkeld. De app is echt een greenfield project met een eigen inrichting middels cloud. De ontwikkeling wordt gedaan door gebruik te maken van oa. Javascript, React, CSS, Next.js, GraphQL in een Azure Cloud omgeving. Daarnaast gebruiken ze tooling als Figma, storybook, Jest en Github. De complexiteit in deze rol zit hem in het feit dat data uit verschillende bronsystemen komt waarbij er zowel gekoppeld wordt

Bekijk vacature »

Front-end Angular developer

Functie In jouw rol als Front-End developer werk je samen met de backend developers om middels tweewekelijkse sprints het platform naar een hoger niveau te tillen. Hiernaast heb je affiniteit met data en werk je graag samen met het team om de gegevensintegriteit en -beveiliging te waarborgen, om ervoor te zorgen dat de gebruiker wereldwijd de beste SaaS-services heeft. Deze organisatie heeft meer dan 100 mensen in dienst, waarvan er 45 in Nederland werken. Het ontwikkelteam bestaat uit 10 mensen en is verdeeld in 2 scrumteams. Het eerste team bestaat uit Java en Scala ontwikkelaars. Het tweede team, waar jij

Bekijk vacature »

Front-end Developer

Functie omschrijving Wij zijn op zoek naar een Front-end Developer! Als Front-end Developer binnen dit softwarebedrijf ga je de frontends voor zowel je eigen interne projecten als die voor klanten opzetten, onderhouden en uitbreiden. Je zet ideeën om naar mooie successen voor de klanten. Dat is in een notendop wat je gaat doen! Wat kun je verwachten? Je werkt aan de doorontwikkeling van bestaande maatwerkapplicaties. Bijvoorbeeld wanneer de klant de applicatie wil uitbreiden met een nieuwe feature; Samen met het team van backenders en desginers zet je nieuwe ideeën van klanten om naar mooie oplossingen; Je werkt met verschillende frameworks.

Bekijk vacature »

23/11/2017 22:59:52
Quote Anchor link
Hallo,

Zoals je hier zien staat er een upload page waar je filmpjes kunt uploaden.
Nu zou ik graag willen dat als iemand een filmpje upload dat er automatisch na de /..... tekst word aangemaakt als iemand een filmpje upload.

Website: *knip*

Thanks.
Gewijzigd op 29/04/2020 23:19:24 door - Ariën -
 
PHP hulp

PHP hulp

04/12/2024 20:37:28
 
- Ariën  -
Beheerder

- Ariën -

23/11/2017 23:06:20
Quote Anchor link
Je wilt dus een uniek ID aan de video koppelen, zodat je je deze op je site kan oproepen. Net zoals YouTube ook doet?
 

23/11/2017 23:06:55
Quote Anchor link
Klopt Ariën!
 
- Ariën  -
Beheerder

- Ariën -

23/11/2017 23:10:24
Quote Anchor link
Ik neem aan dat je deze in de database opslaat met een oplopend (auto increment) ID?
In dat geval is een getal wel leuk en aardig, maar het is erg voorspelbaar, iets wat je niet altijd wilt hebben. Daarom moet je een hash genereren aan de hand van dat ID-nummer.

Deze class kan dit heel mooi voor je doen:
https://github.com/ivanakimov/hashids.php
Gewijzigd op 23/11/2017 23:10:36 door - Ariën -
 

23/11/2017 23:19:59
Quote Anchor link
Ja ik gebruik een database dit dat automatisch doet.
Ik ben nog een basis PHP gebruiker dus meer uitleg zal nooit kwaad doen.
 
- Ariën  -
Beheerder

- Ariën -

23/11/2017 23:22:26
Quote Anchor link
Een kwestie van de hele mikmak downloaden, en beginnen bij de 'Quick Example'. (of je moet met Composer werken, dan mag je al met Getting Started beginnen).
 
Rob Doemaarwat

Rob Doemaarwat

24/11/2017 09:57:29
Quote Anchor link
Je kunt ook gewoon een willekeurige string aanmaken, en die ook in de database opslaan (even een unique constraint d'r op, zodat je zeker wat dat ie uniek is, en dat het lekker snel zoekt). Hoef je niet te goochelen met een hash-die-eigenlijk-niet-eens-een-hash-is-omdat-je-m-blijkbaar-kunt-reversen. Als je dan een case-insensitive collatie hebt kun je echter geen hoofd- en kleine letters door elkaar gebruiken.

Een random string kun je op 100-en verschillende manier maken, en als het echt super random moet kan het altijd beter, maar heel eenvoudig kan het bijvoorbeeld zo:
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
<?php
$n
= 10; //lengte van de code

//optie 1: via sha1
//enkel hex karakters (0-9 en a-f)

print(substr(sha1(time() . rand()),0,$n));
//alfa+numeriek (0-9 en a-z)
print(substr(base_convert(sha1(time() . rand()),16,36),0,$n));

//optie 2: via rand
//hiermee heb je meer controle over de gebruikte karakters
//als je bijvoorbeeld wilt voorkomen dat 1 en l tot verwarring leiden

$chars = '23456789abcdefghijkmnpqrstuvwxyz';
$max = strlen($chars) - 1;
$s = '';
for($i = 0; $i < 10; $i++) $s .= $chars[rand(0,$max)];
print($s);
?>
 

24/11/2017 13:48:01
Quote Anchor link
Nog niet heel verstand van PHP, Hier PHP bestand wat ik gemaakt heb.
Hoe zou ik dat hier in moeten verwerken?
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
<form method="post" enctype="multipart/form-data" >
                        <?php
                            if(isset($_FILES['file'])){
                            
                                $name = $_FILES['file']['name'];
                                $extension = explode('.', $name);
                                $extension = end($extension);
                                $type = $_FILES['file']['type'];
                                $size = $_FILES['file']['size'];
                                $random_name = rand();
                                $tmp = $_FILES['file']['tmp_name'];
                                
                                
                                if ((strtolower($type) != "video/mpg") && (strtolower($type) != "video/wma") && (strtolower($type) != "video/mov")
                                && (
strtolower($type) != "video/flv") && (strtolower($type) != "video/mp4") && (strtolower($type) != "video/avi")
                                && (
strtolower($type) != "video/qt") && (strtolower($type) != "video/wmv") && (strtolower($type) != "video/wmv"))
                                {

                                    $message= "Video Format Not Supported !";

                                }
else
                                {
                                    move_uploaded_file($tmp, 'upload/'.$random_name.'.'.$extension);    
                                    $conn->query("insert into videos (title,location) values ('$name','$random_name.$extension')");
                                    $message="Video Uploaded Successfully!";
                                }

                                
                                ?>

                                <?php
                                echo "<script type='text/javascript'>alert('$message\\n\\nUpload: $name\\nSize: $size\\nType: $type\\nStored in: uploads/$name');</script>";
                                ?>

                                
                                <?php
                            }
                    
                        ?>


Edit:
Code-tags toegevoegd
Gewijzigd op 24/11/2017 14:26:26 door - Ariën -
 
Obelix Idefix

Obelix Idefix

24/11/2017 14:09:01
Quote Anchor link
En waar is het deel waarin je naar de database wegschrijft?
 
- Ariën  -
Beheerder

- Ariën -

24/11/2017 14:24:33
Quote Anchor link
Rob Doemaarwat op 24/11/2017 09:57:29:
Je kunt ook gewoon een willekeurige string aanmaken, en die ook in de database opslaan (even een unique constraint d'r op, zodat je zeker wat dat ie uniek is, en dat het lekker snel zoekt).

Dat kan ook, maar volgens mij is de oplossing die ik gaf een hash die berekend is aan het ID. Dus hoef je niet een aparte hash op te slaan. Dat zou het een stuk eenvoudiger maken.
Of dat echt zo is weet ik niet, maar dat lijkt wel de intentie als je ID-nummers wilt maskeren.

Je hoeft dan alleen maar de encode-functie hoeven toe te passen op het ID, en je bent er.
Gewijzigd op 24/11/2017 14:24:46 door - Ariën -
 
Rob Doemaarwat

Rob Doemaarwat

24/11/2017 14:56:53
Quote Anchor link
@Ariën: http://carnage.github.io/2015/08/cryptanalysis-of-hashids (via hashids.org!). Het "maskeert" dus wel, maar het voorkomt niet dat mensen de volgende "hash" (of willekeurig welke andere hash) kunnen reconstrueren.
 
- Ariën  -
Beheerder

- Ariën -

24/11/2017 15:06:37
Quote Anchor link
Dat klopt inderdaad. Het is inderdaad de afweging of je dit wilt, of juist niet.
 
Thomas van den Heuvel

Thomas van den Heuvel

24/11/2017 15:53:15
Quote Anchor link
Een goede vraag aan de topicstarter zou dus zijn:

Is het belangrijk dat de video's niet voor iedere willekeurige gebruiker toegankelijk zijn die een hash kan raden of berekenen?

In welk geval extra maatregelen mogelijk op zijn plaats zijn.

Security through obscurity (het voor dit doel gebruik maken van hashing) is nooit een goede oplossing. Het genereren van een unieke string is natuurlijk prima voor het uniek identificeren van een filmpje, maar niet echt voor het afschermen van ongewenste bezoekers. Denk ook bijvoorbeeld aan het oppikken van dit soort media door zoekmachines als verder op geen enkele manier de content zelf wordt afgeschermd.

Het codefragment van @Mitchell baart mij wel een beetje zorgen, het lijkt alsof je:
- het weergeven van het formulier,
- het verwerken van het formulier, en
- het afhandelen van foutmeldingen
allemaal op dezelfde plek regelt? De kans is dan groot dat code vrij snel één onoverzichtelijke brei wordt. Wanneer je complexere dingen gaat doen is het (of wordt het steeds) belangrijk(er) dat je je code overzichtelijk houdt. Een eerste stap daartoe zou het scheiden van de eerder genoemde acties zijn in verschillende compartimenten, in wat voor vorm dan ook (aparte PHP-bestanden of methoden van een klasse of wat dan ook).

Zorg dat je het overzicht houdt, dan kun je dingen ook beter in afzondering behandelen, zoals het toevoegen van logica in de afhandeling van een form-submit. Op dit moment moet je dit ergens tussenbreien in een monolitisch stuk code, wat mogelijk weer andere dingen omver trekt.
Gewijzigd op 24/11/2017 15:57:14 door Thomas van den Heuvel
 
Rob Doemaarwat

Rob Doemaarwat

24/11/2017 16:12:04
Quote Anchor link
Ah, na de opmerking van Obelix en Idefix had ik niet eens verder gekeken. Maar hier kunnen inderdaad een hoop dingen mis gaan:
- Een bestandsnaam ($name) kan aanhalingstekens (') bevatten, dan gaat je query de mist in (SQL-injectie).
- Dito voor $extension.
- De extensie kan ".php" zijn (extensie en MIME $type zijn twee heel aparte dingen; ik kan dus een .php bestand uploaden met een video/mpg MIME -> http://php.net/manual/en/curlfile.construct.php). Dat bestand komt dan in /upload/ te staan, en dan kan ik dus gewoon allerlei scripts uitvoeren op de server = volledige controle).
 

24/11/2017 22:42:10
Quote Anchor link
Na deze berichtgeving ben ik opnieuw begonnen.

https://github.com/MitchBred/videouploader

Als er fouten in zitten wat ongetwijfeld zal zijn zou ik het graag willen horen.
 
Rob Doemaarwat

Rob Doemaarwat

24/11/2017 23:40:54
Quote Anchor link
Hm, nu kun je alles uploaden (MIME wordt ook niet meer gecontroleerd). Je kunt dus gewoon een PHP bestand uploaden, enz.

Daarnaast raad ik je aan om eens iets over SQL-injectie te lezen, want bij het uploaden was het nog enigszins complex, maar in watch.php kun je gewoon helemaal los gaan met het $id (maar nogmaals: als je een PHP bestand kunt uploaden maakt het iet zo heel veel meer uit).
 
- Ariën  -
Beheerder

- Ariën -

25/11/2017 00:47:31
Quote Anchor link
En waarom oude mysql functies?
Misschien een tip: Lees het OWASP PHP cheatsheet-document over veiligheid eens door.

https://www.owasp.org/index.php/PHP_Security_Cheat_Sheet
Gewijzigd op 25/11/2017 00:49:23 door - Ariën -
 



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.