$_GET beveiligen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

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 »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Starter/junior Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als starter/junior developer zul je direct begeleid worden door een senior uit het team. Het is van belang dat

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

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 »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

C# .NET Developer

Functieomschrijving Voor dit leuke softwarre bedrijf in de omgeving Vught zijn we per direct op zoek naar een C#/.NET Developer. Is development jouw passie en doe je dit graag met C#/.NET? Lees dan snel verder! Jou werkzaamheden zullen zijn: Zorgen voor de optimalisatie van de huidige software en het automatiseren van bedrijfsprocessen. Naar aanleiding van de wensen van de klant ga je, met je collega's op zoel naar passende oplossingen en je werkt dit uit tot een mooi eindproduct. Je gaat webshops, websites en webapplicaties ontwikkelen door middel van ASP.NET, C# en MVC Framework. Bedrijfsprofiel Deze opdrachtgever houdt zich bezig

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »
Daan s

Daan s

17/10/2011 13:08:49
Quote Anchor link
Hi allemaal,

Ik ben momenteel met de beveiliging bezig van m'n site.
Maar ik heb even gekeken of ik mijn eigen site kon hacken, en dit was helaas mogelijk.
De pagina haalt gehele pagina's van een mysql server af, Met bijvoorbeeld deze link om op een gebruikerspagina te komen; usr/?ID=2 <Ga ik nog veranderen.
De functie GET is dus niet veilig, hij kan bijna alles van de mysql server af halen,

Dus mijn vraag was; hoe voorkom ik dit.



Maar deze code gebruik ik;

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
<?php
//

include 'config.php';
    // MYSQL CONNECTIE
mysql_connect("$host", "$mysqlusername", "$mysqlpassword") or die(mysql_error());
mysql_select_db("$DB") or die(mysql_error());


// GET DATA FROM MYSQL TABLE
  

$result = mysql_query("SELECT * FROM $IDtable where ID =".$_GET['ID']."")
or die(mysql_error());  




// Print
while($row = mysql_fetch_array( $result )) {
    // Print out the contents of each row into a table
    echo "<tr><td>";
    echo $row['Source'];
 
}


echo "</table>";

?>
Gewijzigd op 17/10/2011 13:09:33 door Daan s
 
PHP hulp

PHP hulp

22/11/2024 08:55:22
 
- SanThe -

- SanThe -

17/10/2011 13:55:39
Quote Anchor link
De GET-waarde direct in de query zetten geeft een sql-injection lek. Beveilig dit met mysql_real_escape_string().
 
Marco PHPJunky

Marco PHPJunky

17/10/2011 13:59:17
Quote Anchor link
zitten de gebruikers pagina's achter een login of achter wat anders ?
 
Daan s

Daan s

17/10/2011 14:00:01
Quote Anchor link
Ja komt er wel 8ter

Toevoeging op 17/10/2011 14:00:55:

Het wordt een gebruikers pagina, geselecteerd op id/naam,
Maar ik heb het een paar keer geprobeerd met de mysql_real_escape_string(). maar dan krijg ik een lege pagina.
 
- Ariën  -
Beheerder

- Ariën -

17/10/2011 14:30:32
Quote Anchor link
Dan doe je iets verkeerd.

Hoe implementeer je het?
 
Daan s

Daan s

17/10/2011 14:37:05
Quote Anchor link
Volgens mij had ik de code ongeveer 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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
//

include 'config.php';
    // MYSQL CONNECTIE
mysql_connect("$host", "$mysqlusername", "$mysqlpassword") or die(mysql_error());
mysql_select_db("$DB") or die(mysql_error());


// GET DATA FROM MYSQL TABLE
  
$secure = $_GET['ID'];
$secure = mysql_real_escape_string($secure);



$result = mysql_query("SELECT * FROM $IDtable where ID =$secure")
or die(mysql_error());  




// Print
while($row = mysql_fetch_array( $result )) {
    // Print out the contents of each row into a table
    echo "<tr><td>";
    echo $row['Source'];
 
}


echo "</table>";

?>
 
L D

L D

17/10/2011 14:57:55
Quote Anchor link
probeer altijd quotes te gebruiken tussen waardens zoals:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"SELECT * FROM $IDtable where ID = '$secure'"
Gewijzigd op 17/10/2011 14:58:25 door L D
 
Daan s

Daan s

17/10/2011 15:11:39
Quote Anchor link
Eindelijk hij werk op deze code
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
<?php
//

include 'config.php';
    // MYSQL CONNECTIE
mysql_connect("$host", "$mysqlusername", "$mysqlpassword") or die(mysql_error());
mysql_select_db("$DB") or die(mysql_error());


// GET DATA FROM MYSQL TABLE
  
$secure = $_GET['ID'];
$secure = mysql_real_escape_string($secure);



$result = mysql_query("SELECT * FROM $IDtable where ID ='$secure'")
or die(mysql_error());  




// Print
while($row = mysql_fetch_array( $result )) {
    // Print out the contents of each row into a table
    echo "<tr><td>";
    echo $row['Source'];
 
}


echo "</table>";

?>

Tanx
 
Obelix Idefix

Obelix Idefix

17/10/2011 18:00:52
Quote Anchor link
Waarom controleer je niet of de waarde bij ID een getal is?
mysql_connect --> volgens mij kunnen al die variabelen buiten "
Waarom maak je $secure aan?
Meende gelezen te hebben dat variabelen buiten " zouden moeten.
Waar is een nette manier van foutafhandeling?
mysql_fetch_array --> doorgaans volstaat mysql_fetch_assoc.
Gebruik geen * maar benoem het veld wat je wilt opvragen.
$IDtable ; is het verstandig om een tabel aan een variabele toe te kennen?
 
Bartje Jansen

Bartje Jansen

17/10/2011 19:16:19
Quote Anchor link
Laurens dragicevic op 17/10/2011 14:57:55:
probeer altijd quotes te gebruiken tussen waardens zoals:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"SELECT * FROM $IDtable where ID = '$secure'"

Zonder quotes zou de query nog steeds zo lek als een mandje zijn! Het is verplicht om quotes te gebruiken wanneer je met mysql_real_escape_string() de input wilt beveiligen. Deze functie pakt quotes en slashes aan, al het andere wordt niets mee gedaan.

$_GET['id'] = 1

$_GET['id'] = 1 or true

Geen enkele quote en komt keurig door mysql_real_escape_string() heen zonder enige aanpassing. Resultaat: De query vindt alle records en niet slechts één record.

Gebruik dus _ALTIJD_ quotes of gebruik prepared statements, die zijn nog het veiligst en meest gebruikt om SQL injection tegen te gaan. MySQL ondersteunt dit helaas alleen met de mysqli-functies en het kost je een hoop extra code. Met PostgreSQL gaat dit véél eenvoudiger, het is daardoor eenvoudiger om veilig met een database te werken wanneer je PostgreSQL gebruikt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$connectie
= pg_connect('jouw connectiegegevens');
$result = pg_query_params(
  $connectie,
  'SELECT * FROM tabelnaam WHERE id = $1 AND wachtwoord = $2', // query met placeholder
  array($_GET['id'], $_POST['wachtwoord']) // alle input in één array
);
// fetchen en de rest van je code
?>
 
Daan s

Daan s

18/10/2011 16:45:02
Quote Anchor link
Maar is deze code dan wel goed beveiligd?
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
<?php
//

include 'config.php';
    // MYSQL CONNECTIE
mysql_connect("$host", "$mysqlusername", "$mysqlpassword") or die(mysql_error());
mysql_select_db("$DB") or die(mysql_error());


// GET DATA FROM MYSQL TABLE
  
$secure = $_GET['ID'];
$secure = mysql_real_escape_string($secure);



$result = mysql_query("SELECT * FROM $IDtable where ID ='$secure'")
or die(mysql_error());  




// Print
while($row = mysql_fetch_array( $result )) {
    // Print out the contents of each row into a table
    echo "<tr><td>";
    echo $row['Source'];
 
}


echo "</table>";
 
- Ariën  -
Beheerder

- Ariën -

18/10/2011 17:09:23
Quote Anchor link
- Values in je query tussen single-quotes
- Variabelen buiten quotes
 



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.