Mysql Injectie Bescherming

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ontwikkelaar Identity & Access Management

Dit ga je doen Als Identity & Access Management Ontwikkelaar zorg jij er voor dat studenten, medewerkers en docenten de juiste benodigdheden op het juiste moment kunnen gebruiken; Het juist opslaan van onderzoeksdata en het openbaar beschikbaar stellen van publicaties (Open Access); Studenten, collega's en wetenschappers ondersteunen; Agile en Scrum werken; Technisch Applicatiebeheer; Ontwikkelen in One Identity Manager en VB.NET. Hier ga je werken Als Ontwikkelaar kom je terecht in een hecht team die zich richt op wetenschappelijke informatie en ICT. Jij bent degene die er voor zorgt dat alle informatie, uit diverse onderzoeken, bij de juiste personen terecht komt.

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

SQL Database Ontwikkelaar

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je houdt je bezig met het ontwerp en de ontwikkeling van MS SQL server databases, dit doe je met T-SQL als programmeer laag. De begeleiding van projecten van A tot Z, je zult aansluiten bij meetings met

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Java Front-end Developer

Dit ga je doen Ontwikkelen van nieuwe functionaliteiten in Java met tools als Springboot, MS SQL Server (T-SQL) en JavaScript; Het onderhouden van de (web-)applicaties binnen een complexe omgeving; Werken aan de migratie van een monolithisch systeem naar een architectuur gebaseerd op Kubernetes; Code reviews met collega's en actieve kennisuitdelingsessies voeren; Het uitvoeren van unit- en systeemtests Experimenteren met nieuwe tools en technieken. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

SQL beheerder / ontwikkelaar

Functie omschrijving Voor een klant in omgeving Tiel zijn wij op zoek naar een SQL beheerder met affiniteit met technisch applicatiebeheer. Je krijgt een fijne in-house werkplek waar je gaat werken aan diverse projecten. Dit bedrijf doet het beheer van databases voor een aantal bancaire klanten. Op dit momenten hebben zij ruim 1500 databases in beheer. Jouw werkzaamheden gaan er als volgt uit zien: Je gaat de development afdeling ondersteunen bij het ontwikkelen van MS SQL Scripts. Je zal zowel zelfstandig als in teamverband MS SQL databases installeren & beheren. Je monitort en onderzoekt incidenten en de achterliggende oorzaken. Je

Bekijk vacature »

APEX Ontwikkelaar in een team van Oracle Developer

Bedrijfsomschrijving Wij zijn op zoek naar een APEX Ontwikkelaar om onze opdrachtgever in Den Haag te versterken. In deze rol zul je verantwoordelijk zijn voor het ontwikkelen en onderhouden van de front-end van onze applicaties met behulp van Oracle Application Express (APEX). Je werkt aan zowel inhouse als externe projecten. De sfeer binnen het Oracle team is gemoedelijk en men probeert elkaar te helpen én van elkaar te leren. Zo ontstaat er een prettige en plezierige werksfeer waar ruimte is voor persoonlijke ontwikkeling en groei. Er wordt gewerkt met de meest nieuwe technologieën waardoor je kennis up-to-date blijft. Het bedrijf

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 »

Medior/senior Front-end developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Front-end developer (Angular)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

Pagina: 1 2 volgende »

Sander de Vos

Sander de Vos

25/05/2010 19:46:28
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$gebruikersnaam = mysql_real_escape_string(stripslashes($_POST['user']));
$wachtwoord = mysql_real_escape_string(stripslashes(md5($_POST['password'])));


Doe ik dit op deze manier goed? Of gaat dit fouten opleveren?
Gewijzigd op 25/05/2010 19:47:34 door Sander de Vos
 
PHP hulp

PHP hulp

18/04/2024 10:23:42
 
Martijn B

Martijn B

25/05/2010 19:48:23
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
...
$wachtwoord = md5($_POST['password']);
...

?>


Het resultaat van md5() is altijd veilig om in een query te stoppen.

stripslashes() is alleen nodig als de PHP instelling "Magic Quotes" aan staat op de server. Maar stripslashes() heb je niet nodig om de waarde veilig te maken om in een query te stoppen dat doet mysql_real_escape_string().
Gewijzigd op 25/05/2010 19:50:48 door Martijn B
 

25/05/2010 19:49:35
Quote Anchor link
Je moet magic quotes uitzetten (want die verneuken je data), dan hoef je ook geen stripslashes. Ook zou ik het niet zo doen, want mysql_real_escape_string voegt dingen als \r enzo toe (geloof ik).
 
Sander de Vos

Sander de Vos

25/05/2010 19:49:49
Quote Anchor link
Ja, dat weet ik.
Maar doe ik de "mysql_real_escape_string" en "stripslashes" op deze manier goed?

Edit:
Van "\r" heb ik nog niks gemerkt/gehoord.
Heb net het wachtwoord en de gebruikersnaam even ge-echo-ed maar ik zag geen \r.
Gewijzigd op 25/05/2010 19:53:04 door Sander de Vos
 

25/05/2010 19:52:08
Quote Anchor link
Nee, je moet dus alleen mysql_real_escape string gebruik, en geen stripslashes, al helemaal niet als magic quotes uit staat. En die horen uit te staan.
 
Sander de Vos

Sander de Vos

25/05/2010 19:53:34
Quote Anchor link
Ok ;)
Bedankt voor de snelle reacties!
Gewijzigd op 25/05/2010 20:22:28 door Sander de Vos
 
Marcel K

Marcel K

25/05/2010 19:57:28
Quote Anchor link
Als ik het goed heb is er maar 1 plekje waar je mysql_real_escape_string moet zetten, en dat is in de query wanneer je de data naar de database naar de database wegschrijft.

Heb ik vele malen gelezen in berichten van "specialisten"

Correct me if I am wrong.
 
Chris -

Chris -

25/05/2010 19:58:56
Quote Anchor link
Klopt. En Sander, je kan voor het wachtwoord de escape weghalen, MD5 is altijd "veilig" om in een database te zetten.
 

25/05/2010 19:59:02
Quote Anchor link
Ja, je doet pas mysql_real_escape_string (of type casten naar int bijv.) als je het in de query stopt.
 
Sander de Vos

Sander de Vos

25/05/2010 20:21:44
Quote Anchor link
Ok, opnieuw aangepast.

De nieuwe code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$gebruikersnaam
= mysql_real_escape_string($_POST['user']);
$wachtwoord = md5($_POST['password']);
?>
 
Marcel K

Marcel K

25/05/2010 21:30:32
Quote Anchor link
niet goed, mysql_real_escape_string pas in de query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$gebruikersnaam
= $_POST['user'];
$wachtwoord = md5($_POST['password']);
// check daarna je input nog even of hij bijvoorbeeld niet leeg is met trim..

Selecteren gaat dan:
$sql = "SELECT * FROM users
    WHERE user='"
.mysql_real_escape_string($gebruikersnaam)."'
        AND passwoordje='"
.mysql_real_escape_string($wachtwoord)."'
    "
;
?>
 

25/05/2010 22:06:07
Quote Anchor link
Marcel:
niet goed, mysql_real_escape_string pas in de query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$gebruikersnaam
= $_POST['user'];
$wachtwoord = md5($_POST['password']);
// check daarna je input nog even of hij bijvoorbeeld niet leeg is met trim..

Selecteren gaat dan:
$sql = "SELECT * FROM users
    WHERE user='"
.mysql_real_escape_string($gebruikersnaam)."'
        AND passwoordje='"
.mysql_real_escape_string($wachtwoord)."'
    "
;
?>


Hij is beter bezig dan jou, je kan het beste gewoon $_POST blijven gebruiken tot dat je die variabele hebt opgeschoond. Zie ook dit topic.
 
Marcel K

Marcel K

25/05/2010 22:09:45
Quote Anchor link
Yes !
de oude Karl is er weer.
Gaat weer gezellig worden hierzo.

Ik zet hierboven toch ookL na de //
Eerst de invoer checken op bijv. leeg ofzo, uiteraard kan je daar nog meer kontroles toevoegen.
Het ging erom waar je die mysql_real_escape_string moest zetten.
Gewijzigd op 25/05/2010 22:12:32 door Marcel K
 

25/05/2010 22:11:45
Quote Anchor link
Marcel:
Yes !
de oude Karl is er weer.
Gaat weer gezelli worden hierzo.


Als je wat tegen me hebt kan je wat mij betreft ergens een topic aanmaken, of tegen iemand via pm's gaan blaten. Maar dit soort posts in iemand anders zijn topic, totaal off topic is toch helemaal onzinnig?
 
Marcel K

Marcel K

25/05/2010 22:14:06
Quote Anchor link
zie hierboven, had te vroeg op knoppie gedrukt.
Verder ga ik er niet op door.
 
Joren de Wit

Joren de Wit

25/05/2010 22:17:47
Quote Anchor link
Marcel:
Het ging erom waar je die mysql_real_escape_string moest zetten.

Het is een kwestie van smaak waar je mysql_real_escape_string() toepast, maar het is zeker niet verplicht om dat pas in de query te doen. Sterker nog, bij uitgebreide queries wil je dit waarschijnlijk niet in je query doen, maar daarvoor.

Karl maakt hier een goed punt. Werk gewoon door met de $_POST variabele totdat je hem beveiligd hebt voor invoer in de database. Dan pas krijgt de variabele een andere naam zodat jij in je scripts te allen tijde weet dat die variabele veilig is. Van een $_POST variabele weet je namelijk zeker dat hij niet veilig is.
 

25/05/2010 22:21:21
Quote Anchor link
Marcel:
Ik zet hierboven toch ookL na de //
Eerst de invoer checken op bijv. leeg ofzo, uiteraard kan je daar nog meer kontroles toevoegen.
Het ging erom waar je die mysql_real_escape_string moest zetten.



Waarom zou je dat later doen als je het in één keer hoort te doen.
Echt niet logisch:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php // Kleurtjes
$blaat = $_POST['blaat']; // Later gaan we controleren hoor!
// En nu gaan we honderden andere dingen doen
// een functie bouwen
// effe een regex doen
// Goh, laten we eens wat met een database doen
// Moeten we nog controleren?
// Nah, zullen we vast wel hierboven gedaan hebben

mysql_query("SELECT * FROM blabla WHERE blaat='" . $blaat . "'");
?>


edit kut ubb parser
Gewijzigd op 25/05/2010 22:21:48 door
 
Sander de Vos

Sander de Vos

25/05/2010 23:00:10
Quote Anchor link
Dus als ik alles goed heb begrepen, is de onderstaande code gewoon goed/veilig (genoeg).

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
<?php
// Login
if (isset($_POST['password'])) {
    $gebruikersnaam = mysql_real_escape_string($_POST['user']);
    $wachtwoord = md5($_POST['password']);
    
    $query = mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord'");
    $count = mysql_num_rows($query);

    if ($count == "1"){
        setcookie("vCMS", "b3eb46540540e19a7322838729ed212e", time()+3600);
    }
}

?>
 
Joren de Wit

Joren de Wit

25/05/2010 23:04:44
Quote Anchor link
Haal variabelen en integers nog even buiten quotes, dan is het nog iets netter.

edit: tevens zou je eerst nog kunnen controleren of de betreffende $_POST variabelen wel gevuld zijn. Zo niet, dan zou je in een eerder stadium een foutmelding kunnen geven.
Gewijzigd op 25/05/2010 23:05:36 door Joren de Wit
 
Sander de Vos

Sander de Vos

25/05/2010 23:08:28
Quote Anchor link
Snap je reactie, maar zo heb ik het nou eenmaal 'geleerd'.

Ze krijgen bij het login form zelf al meldingen of er iets fout is gegaan.
Ook heb ik een demo account zonder wachtwoord, waarbij er ook gewoon een MD5 hoort.
Dus als ik een melding weergeef dat hij leeg is, werkt het demo account niet meer.
 
Joren de Wit

Joren de Wit

25/05/2010 23:12:29
Quote Anchor link
Sander:
Snap je reactie, maar zo heb ik het nou eenmaal 'geleerd'.

Maar dat is natuurlijk geen reden om een methode te blijven gebruiken terwijl er nadelen zitten aan de manier die jij geleerd hebt...

Wat betreft de andere redenen die je geeft, dat is duidelijk. Dan maak je dus een bewuste keuze en dat is prima.
 

Pagina: 1 2 volgende »



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.