Automatisch URL aanmaken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

Software Developer .NET

Functie omschrijving .NET developer gezocht! Wij zoek op zoek naar een .NET Developer die zich niet uit het veld laat slaan voor een software bedrijf in de regio Veenendaal. Je gaat in deze functie aan de slag met het door ontwikkelen van bestaande producten en het ontwikkelen van nieuwe producten. Dit bedrijf ontwikkeld SaaS applicaties die zowel intern als extern gebruikt worden. Verder bestaat je functie uit: Het ontwikkelen en bouwen van webapplicatie, mobiele applicaties en websites vallen onder jouw verantwoordelijkheden; Werken met onder andere .NET, C#, HTML/CSS, Javascript en MSSQL/Oracle Databases; Hierin werk je samen met andere developers en

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Full stack Python developer

Functie Samen met andere collega’s (een product owner, een software manager en een ervaren ontwikkelaar) ga jij onze producten verder ontwikkelen. Jouw verantwoordelijkheden zullen bestaan uit: – Verder wil gaan met de ontwikkeling van onze bestaande producten; nieuwe features! – Meedenkt over de roadmap van onze producten – Als sparringpartner kan optreden op het gebied van development – Zelf ook nieuwe ideeën op tafel durft te leggen en deze van scratch af aan wilt bouwen Hieronder ook een paar voorbeelden van projecten waar we momenteel mee bezig zijn of binnenkort aan willen beginnen: – Real-time interactie creëren in onze web

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Fullstack developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Ervaren PHP Software Developer

Functieomschrijving Voor een toffe opdrachtgever in regio Breda zijn wij op zoek naar een medior PHP Developer met affiniteit met Laravel. Je komt te werken bij een uitdagende opdrachtgever met supergave klanten in een specifieke branche. Als PHP ontwikkelaar ben je samen met een vooruitstrevende team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het vernieuwen van informatiesystemen voor een specifieke branche. Je ondersteunt complexe uitdagingen van klanten. Vervolgens breng je hun wensen in kaart en vertaalt deze door naar maatwerk software. Affiniteit met Laravel is een pré. Om de klanten zo goed mogelijk te ondersteunen en snel in

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

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

25/04/2024 13:51: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.