Mysql Injectie Bescherming

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

Bekijk vacature »

Social Media Specialist

Social Media Specialist locatie: Rotterdam (Zuid Holland) Wij zoeken op korte termijn een nieuwe collega, een social media specialist/ adviseur sociale media (24 uur), voor ons sprankelende team Communicatie van CJG Rijnmond. Onze focus ligt op het informeren en binden van onze in- en externe klanten en stakeholders en het versterken van onze naamsbekendheid en zichtbaarheid. Dat doen we in nauwe samenwerking met elkaar. Over de functie Ons team bestaat uit 7 communicatieprofessionals met ieder een eigen expertise. Als lid van het online team ben je verantwoordelijk voor het ontwikkelen, uitvoeren en analyseren van onze socialemediastrategie. Ook stel je campagnes

Bekijk vacature »

PHP/Symfony developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Bergen op Zoom ben je als PHP/Symfony Developer niet alleen bezig met software ontwikkeling. Je bent buiten ontwikkeling ook continu bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Techstack: PHP, Symfony & mySQL. Jouw takenpakket ziet er als volgt uit: Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

Bekijk vacature »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. 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

Bekijk vacature »

Senior Fullstack Developer (GOLang, TypeScript)

Bedrijfsomschrijving Our client is one of the large worldwide accounting firms. Functieomschrijving We are looking for a senior (all-round) developer (Project On Demand / Tax Technology) Uses as much as possible technology in support of the development process: Git, Jenkins, Docker, npm, skaffold, helm, etc. We are looking for a real hands-on developer; ie not a team lead or other managerial-style role; Acts with integrity both internally and externally and takes personal responsibility in this respect; Curious about the developments within their field and driven to make a difference with the team; Able to empathize with colleagues and stakeholders and

Bekijk vacature »

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

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 »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

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

05/11/2024 15:35: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.