Mysql Injectie Bescherming

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# Developer

Dit ga je doen Je gaat aan de slag in het websites team of portals team waarin je je bezighoudt met concept & design, implementatie en ook een stukje bugfixing en onderhoud; Je werkt met je team volgens de Scrum werkwijze; Zo adviseer je ook de PO & Scrum Master over de technische architectuur, koppelingen en integratie met externe systemen en API’s; Je blijft op de hoogte van de laatste ontwikkelingen en trends op het gebied van C# / .NET en deelt deze kennis binnen de organisatie. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de

Bekijk vacature »

Senior Front-end Developer

Dit ga je doen Front-end ontwikkeling van de complexe webshop; Teamleden begeleiden en code reviews uitvoeren; Plan van aanpak maken en adviseren; Meedenken in nieuwe ontwikkelingen voor de webshop/website; Meedenken in Cloud oplossingen. Hier ga je werken Voor een leuke organisatie in regio Almelo ga jij als Lead Front-end Developer je focussen op het ontwikkelen van de webshop. Je komt terecht in een jonge, innovatieve én snel groeiende scale-up waarvan het moederbedrijf ruim 300 medewerkers heeft. De organisatie waarvoor je komt te werken zit in de bouwsector en heeft nu 20 man in dienst, waarvan 8 man in het IT-team

Bekijk vacature »

Senior developer (fullstack)

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 »

Java Developer / Back-end Developer / 5000 euro

Dit ga je doen Het ontwikkelen van applicaties en websites met behulp van Java en Spring; Werken aan lange termijn projecten; Oppakken van ad hoc activiteiten en processen; Nieuwe ontwikkelingen in de gaten houden en toepassen; Analytisch en kritisch meedenken over verbeteringen in tools en werkwijzen. Hier ga je werken Onze klant is een high traffic organisatie die kwaliteit en digitale transformatie hoog in het vaandel heeft staan. Het is een dynamische en autonome organisatie gevestigd in hartje Amsterdam. Het professionele team waar je in komt te werken is multidisciplinair. Het team werkt erg nauw samen en gebruiken gezamenlijk Scrum

Bekijk vacature »

PHP Developer

Dit ga je doen Ontwikkelen, implementeren en testen van PHP-oplossingen en Apps voor klanten en bedrijfsprocessen; Opstellen van requirements en uitwerken van de oplossingen; Testen van software en borgen van een soepele overdracht, inclusief documentatie; Proactief adviseren vanuit eigen expertisegebied over ontwikkelingen en verbeterpunten in technische toepassingen en processen binnen de organisatie. Hier ga je werken De organisatie is een ambitieuze en vooruitstrevende speler in de markt in de regio Rotterdam. Ze zijn de snelst groeiende in hun branche. Met een excellent aanbod en service willen zij de beste keuze zijn voor hun bestaande en nieuwe klanten. Dit alles doen

Bekijk vacature »

.Net Developer

Samengevat: Wij produceren software. Wil jij werken als Back-end Developer? Heb jij verstand van design patterns? Vaste baan: .Net Developer Microservice HBO WO Design Patterns 3.500 - 5.000 Backend Developer Deze werkgever is een sterke speler op de internationale markt van digital signage/narrowcasting software. Vanuit onze vestiging in Eindhoven werken we met de nieuwste technologieën aan out-of-the-box producten voor digital signage. Deze producten worden via ons wereldwijd partner netwerk bij talloze bedrijven en organisaties ingezet voor dynamische beeldscherm-communicatie. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor

Bekijk vacature »

Android Developer

Are you a medior Android developer who is looking for a fresh opportunity? Join our great team in Utrecht! #Hire #Work #permanent #position #You don't have to speak Dutch.We are looking for a medior Android developer. Together with an ambitious, supportive team of specialists you’ll get the chance to work on apps used every day. You will work with a supportive team that are keen to exchange ideas, but you will also get enough freedom for self-development and growth. Functie-eisen Few years of work experience as a native Android developer in a professional organization. Develop highly advanced, secure and high

Bekijk vacature »

Freelance applicatieontwikkelaar (zzp)

Belastingdienst B/cao Startdatum : 2-1-2023 Tijdelijke functie, met optie op vast Aantal uren per week : 36 Standplaats in overleg : Apeldoorn Applicatieontwikkelaar bij het Ministerie van Financiën- Belastingdienst We zoeken een consultant/developer met ervaring in de ontwikkeling van back-end systemen. Als consultant heb je kennis en ervaring met de wijze waarop Open Formulieren is opgezet. Je bent een vraagbaak voor collega’s en deelt waar nodig je kennis. Je hebt ervaring met het werken in een open source omgeving. Je bent thuis in verschillende frameworks of je kunt je die snel eigen maken. Je hebt aantoonbaar ruime kennis van en

Bekijk vacature »

Senior Integration Developer

Functieomschrijving As senior integration developer at Randstad Groep Nederland IT you play an integral role in innovating and optimising our processes and way of working. As we continue to move towards a more internationally connected tech environment and build new global platforms, our integration team continues to grow. You will join the APK team (Applicatie Koppelingen), consisting of business analysts, developers, a product owner and scrum master. Together you are responsible for a fundamental aspect of our applications, providing the basis for our other development teams. What will you do as senior integrations developer? As senior integrations developer you work

Bekijk vacature »

Medior Java developer (fullstack)

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 »

Medior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Medior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Java Developer

Dit ga je doen Het (door)ontwikkelen van softwareoplossingen m.b.v. Java; Het onderhouden van de softwareoplossingen; Het testen van software; Het ophalen van klantwensen en vertalen naar een technische oplossing; Het meewerken in diverse grote projecten. Hier ga je werken De organisatie is een ambitieuze en vooruitstrevende speler in de markt in de regio Rotterdam. Ze zijn de snelst groeiende in hun branche. Met een excellent aanbod en service willen zij de beste keuze zijn voor hun bestaande en nieuwe klanten. Dit alles doen zij met plezier en enthousiasme. De organisatie is te omschrijven als informeel, pragmatisch en dynamisch. Onze klant

Bekijk vacature »

Freelance senior ICT ontwikkelaar (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 86,00 Team LIV is op zoek naar een enthousiaste, flexibele, multitaskende en hands-on ontwikkelaar met veel ervaring in het gedeeltelijk of volledig zelfstandig bepalen van ontwikkel- en realisatie aanpak. Onze nieuwe collega moet in staat zijn te werken in een hectische omgeving waarbij er sprake is van zeer verschillen realisatietrajecten voor wat betreft(technische)diepgang, startmoment (wel/geen beschrijvingen beschikbaar) en klantcontact. De gekozen ontwikkelmethodiek dient passend te zijn voor het op te lossen vraagstuk waarbij samenwerking met de testengineer in relatie tot Systeem integratie test

Bekijk vacature »

Sr. Java Developer, interested in modelling

Due to the expansion of our applied modelling software team, we are looking for a senior Java Developer, interested in modelling. Aad van Gerwen, Team Manager Applied Modelling: “As a senior model driven engineer at Capgemini Engineering you are involved in the next revolutionary step in software engineering! Our department is focusing on creating and applying (domain-specific) models to drive the engineering process. This approach ensures the time-to-market and quality increase demands our clients face today are met. I am looking for someone who is expert in the field of model-driven engineering and who wants to be part of the

Bekijk vacature »

Freelance senior Programmeur (zzp)

Dienst Uitvoering Onderwijs Uren per week: 36,00 Standplaats: Groningen Max tarief: € 90,00 Startdatum inzet: 2-1-2023 Einddatum inzet: 1-1-2024 Wat doen we voor werk momenteel? Nieuwe applicaties: We bouwen nieuwe applicaties voor inwinnen B3/B4 scholen. Deze scholen kunnen inschrijvingen via een website aanleveren per keer of meerdere inschrijvingen via bestand. Deze inschrijvingen leggen we vast en ze kunnen ook beheerd worden. Moderniseren: Daarnaast hebben we zoals alle andere teams ook een flinke migratie voor de boeg om in de Cloud te landen. Eén applicatie (AVOID) hebben we al succesvol gemigreerd en deze draait bijna in PRD. De grootste uitdaging voor

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

28/01/2023 20:30:15
 
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.