Veiligste manier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

C#.NET ontwikkelaar

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Je bouwt webshops, webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Framework en C#. Je zorgt voor de optimalisering van bestaande software en de automatisering van

Bekijk vacature »

Developer Front-end

Functie omschrijving Front-end Developer gezocht! Wij zijn op zoek naar een front-end developer voor een organisatie in de regio Veenendaal die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. Je hebt in deze functie een adviserende rol hiervoor moet je beschikken over een grote dosis vakinhoudelijke kennis. Je creëert unieke concepten door samen met collega’s en klanten te overleggen over aangeleverde designs. Hiermee draag jij je steentje bij aan de groeiambities van de klant. Jij wordt het vaste aanspreekpunt voor klanten wanneer het gaat over planningen, hierin is het jouw taak om alle betrokkenen goed

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in een ontwikkelteam met 7 .NET developers. In ons team werken er drie senior .NET developer, twee medior .NET developers en twee junior .NET developers. Er is dan ook genoeg senioriteit in ons team om jou te kunnen bieden wat jij nodig hebt! Wij werken in scrum en hebben drie wekelijkste sprints. Daarnaast doen wij minimaal vier keer per jaar een release. Ons platform is ontzettend complex en groot. Het is dan ook in het begin belangrijk dat jij de processen gaat begrijpen. Jij krijgt dan ook een cursus om beter te begrijpen

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

3D BIM Add-on Developer

As a 3D BIM add- on developer at KUBUS, you will develop add-ons (called BCF- Managers) to the leading building information modeling (BIM) programs Revit, Navisworks, Archicad, AutoCAD and Tekla Structures. BCF Managers enable data transfer between BIM software and BIMcollab. You will work on both the front- and the back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual

Bekijk vacature »

Full Stack .NET Developer

Dit ga je doen Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 12 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een team van 7 professionals ben je als Full Stack .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde

Bekijk vacature »
Yorick Scheyltjens

Yorick Scheyltjens

31/07/2017 23:31:59
Quote Anchor link
Hallo iedereen

Een jaartje terug ben ik met php beginnen werken.
Ik heb in mijn vrije tijd al veel projecten afgemaakt.

Soms zet ik php scripts in een html bestand en echo de juiste tekst die in de html weergegeven moet worden en soms stuur ik met javascipt een xml request naar een apart php bestand en stuur dan json terug.

Nu is mijn vraag wat de beste, snelste en veiligste manier van werken is?

Alvast bedankt

Groetjes Yorick
 
PHP hulp

PHP hulp

26/04/2024 09:10:10
 
- Ariën  -
Beheerder

- Ariën -

31/07/2017 23:40:06
Quote Anchor link
Het ligt een beetje aan je applicatie die je in elkaar zet, hoe de output verwerkt wordt en eruit moet komen.

Ikzelf heb een eigen MVC frameworkje gebouwd, waarin ik de view in Smarty templates (tegenwoordig zou ik Twig gebruiken) verwerk. Maar als de output JSON is, dan zorg ik gewoon voor die output en heb ik Smarty niet nodig.
 
Pipo Clown

Pipo Clown

31/07/2017 23:56:10
Quote Anchor link
Zo ver ik weet kan je geen PHP-code in een html-bestand gebruiken.
Andersom kan wel.
 
Yorick Scheyltjens

Yorick Scheyltjens

01/08/2017 00:01:43
Quote Anchor link
@Ariën: Mijn applicatie werkt vooral met mysql database.

Met javascript en html bouw ik de website op.
Met php haal ik een variabel aantal gegevens uit de database of voeg data toe.

Ik weet niet welke manier het veiligste tegen hackers.


@Pipo Clown: Ik heb het fout verwoord. Het gaat wel degelijk over een .php bestand. Hierin staat een html/javascipt website met stukjes php script
 
- Ariën  -
Beheerder

- Ariën -

01/08/2017 00:13:29
Quote Anchor link
Het maakt niet uit welke manier je toepast, als je maar op bewust bent op veiligheidsfouten.

@Pipo: Dat kan wel met dit in htaccess: "AddType application/x-httpd-php .html .htm", maar het is best zinloos. Als je html-extenties wilt tonen kan je je beter richten op mod_rewrite waarmee de URL alleen maar herschrijft.
 
Thomas van den Heuvel

Thomas van den Heuvel

01/08/2017 01:22:38
Quote Anchor link
Zolang je je bedient van het adagium filter input, escape output kom je een heel eind.

Wat houdt dit in?

Filter Input
Indien je bepaalde invoer en/of invoer van een bepaalde vorm verwacht, bijvoorbeeld je verwacht een numerieke querystring-variabele "id" op grond waarvan je een database-item laadt, dan controleer en filter je hier op. Je controleert dus zowel op het bestaan van $_GET['id'] en ook of deze variabele een numerieke waarde bevat (dit kan op verschillende manieren). Indien NIET aan deze voorwaarden is voldaan zou je applicatie een fout moeten genereren of zou deze dit moeten ondervangen. Het heeft in ieder geval geen zin om bijbehorende query uit te voeren, want $_GET['id'] is niet beschikbaar of ongeschikt.

Dit principe geldt ook voor de verwerking van formulier-invoer, initialisatie van gegevens et cetera. Eigenlijk zou je in alles wat je doet jezelf moeten afvragen: moet ik hier filteren / iets controleren?

Escape Output
Dit is eigenlijk de tegenhanger van filter input. Ten eerste moet je je te allen tijde bewust zijn van het feit dat je altijd in een context werkt. Bijvoorbeeld je bent een HTML-document aan het opbouwen, dan ben je in de HTML-context bezig. Of je doet iets met JavaScript (JS-context) of je bent een query aan het opbouwen (SQL-context).

In al deze contexten zijn er speciale karakters die speciale betekenissen hebben. Denk bijvoorbeeld aan de karakters <, >, & en " in HTML. Deze hebben mogelijk een betekenis die verder voert dan bijvoorbeeld enkel "het kleiner dan teken". Dit kan het begin zijn van een HTML-tag. Vaak is het verstandig om dit soort speciale karakters te ontdoen van hun speciale betekenis binnen die context. Te meer als deze invoer afkomstig is van eindgebruikers (User Input).

Elke context heeft speciale escaping-functies om data te ontdoen van de speciale betekenis die deze data mogelijk heeft. Zo is daar htmlspecialchars() voor het onschadelijk maken van HTML en de _real_escape_string() functies voor MySQL.

Het is echter HEEL BELANGRIJK dat deze escaping-functies op de juiste manier toegepast worden. De correcte werking van het escapen van data hangt namelijk nog van iets anders af: de character encoding. Dit is de opslagmethode van data in het geheugen. Afhankelijk van de character encoding kan een karakter (bijvoorbeeld ë) verschillende encoderingen (representaties in het geheugen) hebben, maar op je scherm zie je nog steeds een ë, mits je document voorzien is van een aanduiding van een overeenkomstige character encoding, bijvoorbeeld door middel van een meta-tag of een PHP header().

De beste manier is om altijd expliciet te vermelden om welke character encoding het gaat.

Ingeval van PHP waarbij je html wilt escapen met behulp van htmlspecialchars() kun je dit aangeven d.m.v. de derde parameter.

Ingeval je iets wilt escapen in een SQL-string (om het onderscheid te maken tussen SQL en DATA om zodoende SQL-injectie te voorkomen) moet je bij het maken van een connectie aangeven in welke character encoding je wenst te communiceren. Dit doe je doorgaans door middel van een _set_charset() methode net na het maken van een connectie of door een charset-parameter op te nemen in je DSN indien je van PDO gebruik maakt. De character encoding instellen na afloop van het maken van een connectie met behulp van SET NAMES of iets dergelijks is de verkeerde manier!

En om dingen nog complexer te maken dien je _real_escape_string() functies ALTIJD te gebruiken in combinatie met quotes. Het een is namelijk niet veilig zonder het ander, de _real_escape_string() functies zijn namelijk geen wondermiddel en ESCAPEN NIETS ALS ER NIETS TE ESCAPEN VALT.

Als je op enigerlei wijze de volgende string in een query kunt krijgen dan is SQL-injectie mogelijk als je wel _real_escape_string() toepast, maar geen quotes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
OR 1=1

Dit komt namelijk omdat _real_escape_string() geen karakters escaped in bovenstaande string. Deze DATA zal dus (door het ontbreken van extra quotes) als SQL geinterpreteerd worden waarmee de SQL-injectie in principe is geslaagd.

En tot slot: Never Trust User Input. Simpelweg omdat je gebruikersdata eenmaal in je database hebt gekregen wil niet zeggen dat deze ineens onschadelijk is dus wanneer je deze weer uitleest (om bijvoorbeeld in een HTML-document te worden weergegeven) begint het spel opnieuw: deze zal opgehaald moeten worden met de character encoding die je in het document wilt gebruiken en zal vervolgens in overeenkomstige character encoding ge-escaped moeten worden bij het weergeven, tenzij je de gebruiker voldoende vertrouwt en/of dat het daadwerkelijk de bedoeling is dat deze zelf HTML kan schrijven. Er zijn natuurlijk altijd uitzonderingen mogelijk maar deze zouden dan wel gedocumenteerd moeten worden.
Gewijzigd op 01/08/2017 01:28:43 door Thomas van den Heuvel
 
Yorick Scheyltjens

Yorick Scheyltjens

01/08/2017 17:18:24
Quote Anchor link
@Thomas van den Heuvel

Bedankt voor je uitleg.

Ik had al een beetje gehoord over deze veiligheidsfuncties maar ik wist nooit wanneer ik deze moest gebruiken. Nu weet ik het dus wel.

Als ik je uitleg goed begrijp, maakt het eigenlijk niet uit of ik werk met een aparte php pagina of niet?
Ik moet gewoon altijd zorgen dat mijn data niet gehackt kan worden?

Of heb ik het fout begrepen?
 
Thomas van den Heuvel

Thomas van den Heuvel

01/08/2017 19:30:42
Quote Anchor link
Hoe je de (pagina-)opbouw van je website organiseert en hoe je deze beveiligt zijn in principe twee verschillende dingen ja. Wel moet je je natuurlijk bewust zijn van het feit dat alles wat in de publieke webdirectory staat opvraagbaar is (tenzij je directories, bestanden en/of bestandstypen afschermt met bepaalde voorzieningen maar je zou dit soort gevoelige bestanden natuurlijk ook buiten de publieke webdirectory kunnen parkeren).

Je hoeft er niet per se voor te zorgen dat je data niet gehacked kan worden in die zin dat je op voorhand alles desinfecteert met DDT zodat alles morsdood is - escape-on-input bijvoorbeeld (data op voorhand permanent onschadelijk maken) is meestal niet wenselijk (omdat je af en toe niet weet in welke context deze gebruikt gaat worden, op voorhand escapen voor een specifieke context is dan ook niet verstandig).

Wel moet je er voor zorgen dat je er altijd rekening mee houdt dat deze data potentieel gevaarlijk is, en vervolgens neem je passende maatregelen (waar nodig input filtering en output escaping).

Op het moment dat deze bewustwording er is, en je je altijd elke keer afvraagt "hee, dit is data uit bron X, moet hier iets speciaals mee" (en hier vervolgens op acteert, uiteraard) dan ben je al een heel eind.
Gewijzigd op 01/08/2017 19:31:47 door Thomas van den Heuvel
 
Yorick Scheyltjens

Yorick Scheyltjens

03/08/2017 21:59:27
Quote Anchor link
Bedankt voor je uitleg. Het heeft me echt verder geholpen.

Ik heb nog één vraag.

Je zei dat inhoud in je webdirectory altijd opvraagbaar is.
Kan je php code dan ook opvragen?
 
Ben van Velzen

Ben van Velzen

03/08/2017 22:37:55
Quote Anchor link
De code niet, maar scripts an sich zijn direct aan te roepen. Dat is iets om mee rekening te houden.
 
- Ariën  -
Beheerder

- Ariën -

03/08/2017 22:59:16
Quote Anchor link
Als de scripts voorzien zijn van .php extentie op het eind, dan is alles vrij veilig. Dus geen .inc als extentie, bij includes, wat soms nog wel eens gebeurt. Dat kan je dan moeiteloos uitlezen.

Maar je moet wel rekening houden dat je geen lekken openzet waarmee mensen files op de server kunnen uitlezen, zoals bijvoorbeeld met $_GET i.c.m. met file-functies.
Gewijzigd op 03/08/2017 22:59:45 door - Ariën -
 
Yorick Scheyltjens

Yorick Scheyltjens

04/08/2017 12:42:38
Quote Anchor link
Al mijn vragen zijn nu beantwoord.

Bedankt iedereen!
 



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.