externe input 'opschonen'

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Lasrobotprogrammeur/operator

Heb je interesse in trekkers en beschik je overvlijmscherpse precisie? Solliciteer dan op deze vacature! Als Lasoperator ben je vooral bezig met het maken van nieuwe lasrobotprogramma’s en het optimaliseren van bestaande programma’s, zowel online als offline (incl. het bedienen van de Lasrobots). Daarnaast draag je bij aan een optimaal rendement van de las robots. Verder heb je de volgende werkzaamheden: Het meewerken als operator c.q. Robotlassen niveau 2 (van complexe samenstellingen/halffabricaten), het om- en instellen van de diverse stations van lasmallen (productdragers), het afwerken van laswerk (verwijderen lasspetters en oxiden), het bewaken van de machineplanning (op bewerkingen) incl. de

Bekijk vacature »

Senior .NET developer

Functie As a Senior .NET developer you will work in our Research & development team. Our team consists of 17 colleagues! We are currently busy setting up a completely new architecture for a new product. We use VS2022 and .NET 6.0 for our new product. Your function is therefore mainly backend oriented. Since we develop measuring equipment for the chemical industry, it is also very important to develop high-quality software for its control. You are also responsible for designing, implementing and testing new features. For this position its also very important to ensure future-proof and sustainable architecture. Eisen - A

Bekijk vacature »

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

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 »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat 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 jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

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 »

Node.js developer looking for a challenging consul

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 »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

28/01/2019 23:03:13
Quote Anchor link
Hoe kun je een externe value die door de gebruiker is ingevoerd, bijv. een POST of een GET parameter het beste 'opschonen'?

Stel je krijgt bijv. een $_POST['foo'] binnen. Hoe ontdoe ik die $_POST['foo'] dan van eventuele schadelijke karakters?
 
PHP hulp

PHP hulp

29/03/2024 11:37:43
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2019 00:28:40
Quote Anchor link
Bij voorkeur laat je gebruikersinvoer ongewijzigd. Als je dit moet aanpassen ("opschonen") geeft dat toch al min of meer aan dat het niet de goede vorm had?

Als je de gebruiker geen foute invoer wilt laten geven kan het vaak helpen als je de gebruiker simpelweg geen keuze geeft; gebruik een radiobutton of dropdown voor invoer in plaats van een open tekstveld. Of construeer zelf nieuwe formulierelementen waarbij het beter vastligt wat "correcte" invoer is.

En dan heb je daar nog altijd validatie voordat je het formulier verwerkt. Keur "foute" invoer gewoon af als deze niet goed is.

Tot slot heb je escaping zoals htmlspecialchars() voor de HTML-context en real_escape_string() voor de (my)SQL(i)-context (en zo zijn er wel meer voor andere contexten). Als je dit consequent toepast kan data nooit iets kwaads uitspoken.

Dit alles bij elkaar lijkt mij beter dan wat jij probeert te doen wat veel lijkt op "escape on input". Dit is waarschijnlijk niet de oplossing voor jouw probleem. Het beste devies wat gegeven kan worden lijkt mij nog steeds "filter input, escape output" - en dit gewoon overal consequent toepassen.
Gewijzigd op 29/01/2019 00:31:04 door Thomas van den Heuvel
 
Ozzie PHP

Ozzie PHP

29/01/2019 00:36:34
Quote Anchor link
Ik zal even toelichten wat ik bedoel ... ik bedoel eigenlijk of er iets generieks is waarmee je iedere input value kunt "schoonmaken". Ik wil dat verwerken in een functie of method, dat ik daar iedere POST waarde even doorheen gooi waardoor de kwalijke elementen eruit worden gefilterd. En met kwalijke elementen bedoel ik dan vreemde/verboden karakters (denk bijv. aan sql-injectie).

Ik heb het dus niet over het controleren van het datatype (is het een string, is het een getal enz.), maar puur over het wegwerken van schadelijke tekens. PHP heeft bijv. wat sanitize functies: http://php.net/manual/en/filter.filters.sanitize.php

>> Als je de gebruiker geen foute invoer wilt laten geven kan het vaak helpen als je de gebruiker simpelweg geen keuze geeft; gebruik een radiobutton of dropdown voor invoer in plaats van een open tekstveld.

Dat klopt wel, maar jij weet ook dat je dat kunt manipuleren en dat je dus nooit zeker bent van wat je binnenkrijgt.
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2019 00:45:20
Quote Anchor link
Sanitizing manipuleert ook, dus dan pas je dingen aan, dus dan hadden ze eigenlijk al niet de goede vorm, net zoals bij typecasts :).

Quote:
kwalijke elementen

Deze verschillen per context. Dus als je gewoon escaped in de context waarin je deze data gebruikt is er niets aan de hand. Wat jij probeert te doen is alles escapen voor alle contexten waar je data mogelijk in gaat gebruiken? Dit is simpelweg niet praktisch. En zorgt ook voor problemen als je data later wilt bewerken, dan moet je mogelijk de escaping weer ongedaan maken. Het is gewoon handiger om de originele, rauwe, data op te slaan en deze gewoon op de juiste manier te behandelen wanneer je deze in een bepaalde context wilt gebruiken.

Quote:
Dat klopt wel, maar jij weet ook dat je dat kunt manipuleren en dat je dus nooit zeker bent van wat je binnenkrijgt.

Daarom zou je alles ook altijd (aan de serverzijde) moeten valideren als het van een voorgeschreven vorm dient te zijn.
 
Ozzie PHP

Ozzie PHP

29/01/2019 01:21:26
Quote Anchor link
Ik snap wel wat je bedoelt hoor, maar ik hoopte dat er een soort generieke opschoonfunctie bestond.

Dus stel je krijgt in plaats van een naam iets als "jan ' OR 1=1" binnen, dat die generieke functie daar dan bijv. "jan OR 1=1" van zou maken. Maar als een dergelijke generieke functie niet bestaat dan houdt het op.
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2019 02:00:40
Quote Anchor link
Nee die is er bij mijn weten niet.

Daarnaast is het ook geen goede oplossing om schadelijke karakters te verwijderen, omdat je daarmee effectief de oorspronkelijke invoer aanpast wat sowieso niet iets is wat je zou moeten doen. Escapen in het gebruik lijkt mij beter. Op die manier pas je de mogelijke betekenis van invoer ook niet aan. Als iemand een enkele quote bedoeld dan is het niet aan het programma om te "second guessen" wat dit betekent. De data dient enkel veilig in het gebruik te zijn. Bedoelde de gebruiker toch iets anders dan een quote kan 'ie deze gewoon aanpassen of krijgt 'ie te horen dat dit onjuiste invoer is nog voordat er iets wordt opgeslagen.

Beschouw het als het dragen van kleding. Je past deze aan aan het weer, je draagt niet alles over elkaar aan om maar voorbereid te zijn op elk weertype...
Gewijzigd op 29/01/2019 02:02:51 door Thomas van den Heuvel
 
Ozzie PHP

Ozzie PHP

29/01/2019 10:08:30
Quote Anchor link
>> je draagt niet alles over elkaar aan om maar voorbereid te zijn op elk weertype...

Hmm ... misschien een gat in de markt? ;-)

Thanks voor je antwoord!
 
Rob Doemaarwat

Rob Doemaarwat

29/01/2019 15:46:28
Quote Anchor link
Ozzie PHP op 29/01/2019 01:21:26:
Dus stel je krijgt in plaats van een naam iets als "jan ' OR 1=1" binnen, dat die generieke functie daar dan bijv. "jan OR 1=1" van zou maken.

Ik doe juist het omgekeerde. Als ik in een parameter iets meekrijg wat ik niet verwacht (dus bijvoorbeeld iets-wat-geen-cijfer-is in een numeriek ID), dan krijgt zo iemand een vinkje (sessie, IP, ...). Bij meer dan x-vinkjes binnen een bepaalde tijd: voor een bepaalde tijd buitengesloten.

Niet alleen om die "prutsers" een beetje terug te pesten, maar andersom weet je het ook maar nooit. Het is elke week weer een keer maandagochtend, en je kunt natuurlijk altijd iets over het hoofd zien. Op deze manier kunnen ze in ieder geval niet heel veel proberen binnen een bepaald tijdsbestek (en dan heb ik ondertussen wel een keer de tijd gehad om me over het log te buigen).

Voorbeelden van dingen die "niet mogen":
- HTML opmaak (of in ieder geval <script> tag) in "normale tekstvelden" (bijvoorbeeld naam).
- <script> tag of accolades in user-agent string.
- ".." in iets wat naar een bestandsnaam vertaalt/verwijst.
Niet dat dit alles tegen houdt, maar het zet in ieder geval de rem op de "prutser" die z'n lijstje met mogelijke aanvalsvectoren eens langs loopt.
 
Ozzie PHP

Ozzie PHP

29/01/2019 16:16:30
Quote Anchor link
Ik snap wat je zegt Rob, maar dat kun je dus niet generiek (algemeen geldend) doen. Want dan krijg je wat Thomas zegt. Stel iemand schrijft een bericht met daarin .. "Ik stond daar .. en toen ineens". Dat is in dat geval valide input, maar in het geval van een bestandsnaam niet.
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2019 16:50:38
Quote Anchor link
Als je foute rommel wilt weren, schrijf dan voor wat wel mag (whitelist) in plaats van wat niet mag (blacklist). Nadeel van laatstgenoemde methode is dat deze effectief nutteloos is als je een "illegale case" vergeet.

Ik snap de redenering van @Rob ook wel, het kan soms handig zijn om je voelsprieten te gebruiken maar daarmee geef je wel een waardeoordeel over ingevoerde data. En dat is interpretatie. De betekenis hangt dan ook weer af van de (mogelijk taalkundige) context waarin je deze gebruikt. Code en machines zijn daar niet zo sterk in, en het lijkt mij al helemaal lastig om hier iets generieks voor te maken.

Over dat "iets-wat-geen-cijfer-is in een numeriek ID". Hier kun je op verschillende manieren mee omgaan. Stel dat je een lap code hebt waarmee je een record kan ophalen: code.php?id=xyz. Nu kun je wél aannames doen, sterker nog, je mag hier afdwingen dat $_GET['id'] (xyz) een auto-increment id is. Hier kun je dus, nog voordat je een query uitvoert, $_GET['id'] valideren (filter input). Maar wat voor controle gebruik je hier? is_numeric()? filter_var() (met extra parameters zou dit kunnen wellicht)? Wat ook geregeld gebeurt is dat $_GET['id'] simpelweg getypecast wordt naar een integer.

Maar in sommige van deze "validaties" pas je dus mogelijk de invoer aan, dus dat zou dan al inhouden dat de oorspronkelijke vorm niet goed was. Op dat moment ben je dus mogelijk een query aan het uitvoeren die weliswaar syntactisch correct is, maar semantisch onzinnig is en/of nooit een (zinnig) resultaat zal opleveren.

De code zou zo moeten werken dat de query uberhaupt niet werd uitgevoerd indien de invoer niet van de goede vorm was. Of dus meer in het algemeen: is de invoer niet van het goede formaat dan mag je alles gewoon staken. Dit eindeloos proberen te (her)verpakken en om te vormen (en op voorhand "veilig" te maken) is eigenlijk niets meer dan recht proberen te buigen wat al krom was, en zelfs dan is er geen garantie voor succes omdat je simpelweg niet weet of de omzetting wel iets opleverde wat zowel geldig maar ook zinnig (en ook als zodanig bedoeld) was.

Omdat machines niet sterk zijn om te bepalen wat je eigenlijk bedoelde, kun je ze beter precies vertellen wat je bedoelde. En als dit niet voldoet: computer says no. Try again.

Eigenlijk zou een gebruiker gewoon vrij moeten zijn wat deze ergens invult, binnen de kaders die daarvoor bestaan. Treedt iemand echter buiten de gebaande paden moeten ze niet vreemd opkijken als ze op den duur poep aan de schoenen hebben.
Gewijzigd op 29/01/2019 16:53:03 door Thomas van den Heuvel
 
Ozzie PHP

Ozzie PHP

29/01/2019 17:12:43
Quote Anchor link
>> Hier kun je dus, nog voordat je een query uitvoert, $_GET['id'] valideren (filter input). Maar wat voor controle gebruik je hier? is_numeric()? filter_var() (met extra parameters zou dit kunnen wellicht)?

Wat is volgens jou in zo'n geval de beste validatie en waarom?

>> De code zou zo moeten werken dat de query uberhaupt niet werd uitgevoerd indien de invoer niet van de goede vorm was.

Dat is inderdaad ook mijn insteek. En toch zie je soms best opmerkelijke dingen.

Dan wordt bijv. www.schoenenkopen.nl/product.php?id=poepschoen onderwater keurig getypecast naar een integer met waarde 1 waardoor je daadwerkelijk een product krijgt te zien.
 
Ward van der Put
Moderator

Ward van der Put

29/01/2019 18:04:12
Quote Anchor link
Ozzie PHP op 29/01/2019 17:12:43:
Dan wordt bijv. www.schoenenkopen.nl/product.php?id=poepschoen onderwater keurig getypecast naar een integer met waarde 1 waardoor je daadwerkelijk een product krijgt te zien.

Nee, dat is 0. ;-)

https://3v4l.org/qP2DQ

Je voorbeeld geeft wel duidelijk aan dat de vraag bepaalt wat vervolgens acceptabele antwoorden op die vraag zijn.

Enne, 42 is het antwoord op alles.
 
Ozzie PHP

Ozzie PHP

29/01/2019 19:22:53
Quote Anchor link
Haha lol ... ik had verwacht dat ie naar 1 zou typecasten, hahaha.
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2019 19:47:42
Quote Anchor link
Quote:
Wat is volgens jou in zo'n geval de beste validatie en waarom?

Eh, je zou filter_var() kunnen gebruiken I suppose, maar ik gebruik een regexp.

Dit is niet zozeer "het beste", maar "het doet wat ik wil en wat de bedoeling is": een positief geheel getal met ten minste de waarde "1". Dit is wat het (zou) moet(en) zijn, dus dat is waar ik op controleer.
 
Ozzie PHP

Ozzie PHP

29/01/2019 20:48:10
Quote Anchor link
>> maar ik gebruik een regexp.

Kun je eens laten zien hoe?
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2019 21:04:10
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function isIndex($in) {
    return preg_match('#^[1-9][0-9]*$#', $in) === 1;
}

?>


Gotcha/little known fact: het meta karakter $ accepteert ook één linefeed karakter (\n), dus wellicht doe je er nog verstandig aan om $in te trimmen.

Alternatief is filter_var, maar blijkbaar boeit het die validatiefilter ook niet of er een linefeed in zit...
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
$test
= "12\n";

function
isIndex($in) {
return preg_match('#^[1-9][0-9]*$#', $in) === 1;
}

if (isIndex($test)) {
    echo 'waffles<br>';
    var_dump($test);
}
else {
    echo 'no waffles<br>';
    var_dump($test);
}


?>
<hr><?php

function isIndexToo($in) {
    return filter_var($in, FILTER_VALIDATE_INT, array('min_range' => 1));
}


$result = isIndexToo($test);
if ($result === false) {
    echo 'no waffles<br>';
    var_dump($result); // false
} else {
    echo 'waffles<br>';
    var_dump($result); // typecast to int
}
?>
 
Rob Doemaarwat

Rob Doemaarwat

29/01/2019 21:11:09
Quote Anchor link
Andersom gaat filter_var wel weer goed met arrays om (geeft er geen warning op), terwijl:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$in = $_GET['id'] ?? 1;
preg_match('#^[1-9][0-9]*$#', $in); //<- warning bij ?id[]=1
 
Ozzie PHP

Ozzie PHP

29/01/2019 21:15:15
Quote Anchor link
thanks :)

@rob ... je zou dan dus nog moeten testen of het een string is bedoel je?
Gewijzigd op 29/01/2019 21:17:06 door Ozzie PHP
 
Rob Doemaarwat

Rob Doemaarwat

29/01/2019 22:02:41
Quote Anchor link
Of bijvoorbeeld is_scalar().
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2019 22:16:29
Quote Anchor link
Ozzie PHP op 29/01/2019 21:15:15:
je zou dan dus nog moeten testen of het een string is bedoel je?

Alles in $_GET en $_POST is sowieso een string als het geen samengesteld type (array) is.
 
Ozzie PHP

Ozzie PHP

29/01/2019 22:44:54
Quote Anchor link
>> Of bijvoorbeeld is_scalar().

Ah oké.

>> Alles in $_GET en $_POST is sowieso een string als het geen samengesteld type (array) is.

Ja klopt, maar het kan dus ook een array zijn.
 

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.