komma niet escapen, wel beveiliging

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Web Developer

Functie omschrijving Voor een klein softwarebedrijf in de omgeving Roosendaal, zijn wij op zoek naar een PHP web developer met een aantal jaar werkervaring. Wil jij graag werken aan in-house software projecten voor diverse klanten? Voel jij je prettige in een klein team developers, waar jouw inbreng enorm gewaardeerd wordt? Lees dan snel verder! Jouw werkzaamheden zien er als volgt uit: Je wordt verantwoordelijk voor de ontwikkeling van diverse applicaties. Dit kan de ene keer een online platform voor aanbiedingen zijn, en de andere keer een software pakket dat gebruikt wordt om interne processen te automatiseren. Het zijn stuk voor

Bekijk vacature »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

Full Stack .NET Developer C# ASP.NET

Samengevat: Deze werkgever is gespecialiseerd in het op afstand bewaken en besturen van machines en processen. Ben jij een ervaren Full Stack .NET Developer? Heb je ervaring met C# en ASP.NET? Vaste baan: .Net Developer C# ASP.NET HBO €3.300 - €4.500 Deze werkgever is een snel groeiende onderneming gespecialiseerd in het op afstand bewaken en besturen van machines en processen, IoT (Internet of Things). Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Wil jij bij de top specialisten horen? Ben jij op zoek naar een

Bekijk vacature »

Als Front-end developer samenwerken met de beste c

Functie Momenteel zijn we voor één van de projecten bij hun key partner, een voorloper in de energiesector, op zoek naar gedreven Front-end developers. Ze nemen de lead in dit project en werken uitsluitend met vooruitstrevende technologieën. Ze verwachten dat de technologie die hier wordt ontwikkeld uiteindelijk door veel meer grote corporates, in verschillende sectoren zal worden toegepast. Dit is dan ook een heel uitdagend project om aan mee te gaan werken. Het team bestaat o.a. uit User Experience designers, Data Scientists en Software Engineers. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

Front-end (Angular) developer - remote werken

Functie Als Front-end (Angular) developer ga je aan de slag met het uitbouwen van hun webapplicatie, als één van de front-end experts ga je samen met collega’s in een devops team werken aan een nieuw front-end voor hun calculatie oplossing. Binnen de calculatiesoftware kunnen meerdere professionals tegelijk samenwerken, 3D calculaties uitvoeren en ook inzien met de benodigde specifieke details. Deze software wordt veel ingezet om projectbeschrijvingen en kosten in kaart te brengen, en tijdens de uitvoering te bewaken. Maar hiernaast liggen er in de toekomst veel meer plannen op het gebied van front-end in de andere applicaties. Genoeg te doen

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar start jij in een multidisciplinair team met 7 ontwikkelaars. Dit team is verdeeld onder Front-end ontwikkelaars en backend developers. De backend developers werken voornamelijk aan desktop applicaties in combinatie met backend systemen. Hier ga jij dus ook mee aan de slag! Hierbij wordt voornamelijk gebruik gemaakt van C# .NET, WPF, UWP, XAML en MVVM. WPF, UWP, .NET Core, Azure Devops en Entity Framework. WPF en UWP worden dan ook voornamelijk gebruikt voor de user interface van de desktop applicatie. Het development team is dan ook erg gedreven m.b.t. het ontwikkelen van vooruitstrevende en innovatieve horeca automatiseringsoplossingen.

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 »

Software Developer C# .NET

Functie omschrijving Software Developer C# .NET gezocht voor een dynamische organisatie! Ben jij net afgestudeerd of toe aan een volgende stap in je maatschappelijke carrière? Lees dan snel verder! Wij zijn op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die een organisatie in de regio Houten wil versterken. Je werkt in deze functie aan verschillende projecten en gaat vaak op bezoek bij klanten. In deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid verwachten. Bedrijfsprofiel Waar kom je te werken? Je komt te werken bij een organisatie dat gespecialiseerd is in

Bekijk vacature »
Luke Banning

Luke Banning

28/12/2006 16:03:00
Quote Anchor link
Hallo allemaal,
Misschien dat het een beetje vreemde topicnaam is, maar het is niet makkelijk in een kleine zin uit te leggen ;-).
Ik heb een stukje waarin ik een bericht post, hij word zo ver mogelijk beveiligd.
Nu heb ik deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$ReactieBericht
= mysql_real_escape_string(nl2br(htmlspecialchars(eregi_replace('[^ ]{255,}', '...', trim($_POST['Bericht'])))));
?>

Maar hoe kan ik er voor zorgen dat het wél veilig blijft maar dat ik ook een hoge komma voor bijvoorbeeld een woord "foto's" kan invoeren zonder dat deze ge-escaped word met een slash?
Groet
 
PHP hulp

PHP hulp

27/04/2024 20:09:18
 
Paul K

Paul K

28/12/2006 16:37:00
Quote Anchor link
Daarna dat rare wat je krijgt weer terug veranderen?
evt met str_replace......
 
Luke Banning

Luke Banning

28/12/2006 16:39:00
Quote Anchor link
Volgens mij maak je hem juist daarmee ook weer minder veilig?
Ik heb het idee dat als je dat doet dat je hem dus eerst veilig maakt en dan met jou ideetje hem weer onveilig maakt?
 
Terence Hersbach

Terence Hersbach

28/12/2006 16:50:00
Quote Anchor link
waarom zou je willen dat deze niet ge'escaped word? dan word het namelijk een beetje onveilig als je ' niet laat escapen..
 
Luke Banning

Luke Banning

28/12/2006 17:02:00
Quote Anchor link
Zoals ik al zei Terence, maar als ik een bericht post bijvoorbeeld:
Quote:
He leuke site,
waar heb je die foto's vandaan?
Groet

dan krijg ik als output:
Quote:
He leuke site,
Dan krijg ik dus foto\'s
Groet
Gewijzigd op 01/01/1970 01:00:00 door Luke Banning
 
Frank -

Frank -

28/12/2006 17:04:00
Quote Anchor link
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$ReactieBericht
= mysql_real_escape_string(nl2br(htmlspecialchars(eregi_replace('[^ ]{255,}', '...', trim($_POST['Bericht'])))));
?>
Waar ben je in vredesnaam mee bezig? Met zo veel functies in 1 regel, zie je door de bomen het bos niet meer en gaat het gegarandeerd fout.

Ik snap bv. al niet wat nl2br en htmlspecialchars in deze regel code doen. Deze functies gebruik je wanneer je output in html-formaat naar het scherm toestuurt. Dat zal dus nooit en te nimmer i.c.m. mysql_real_escape_string voorkomen, die gebruik je om data naar de database te sturen. Een grote tegenstrijdigheid dus.
 
Frank -

Frank -

28/12/2006 17:08:00
Quote Anchor link
Luke Banning schreef op 28.12.2006 17:02:
Zoals ik al zei Terence, maar als ik een bericht post bijvoorbeeld:
Quote:
He leuke site,
waar heb je die foto's vandaan?
Groet

dan krijg ik als output:
Quote:
He leuke site,
Dan krijg ik dus foto\'s
Groet
Ja, en? Dat is toch ook de bedoeling? Of wil je dat jouw query in het honderd loopt?

Ik heb van Jan Koehoorn de volgende functie eens gekregen om data op de juiste manier in een MySQL-database weg te schrijven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?function quote_smart ($value) {
    if (get_magic_quotes_gpc ()) {
      $value = stripslashes($value);
    }
    if (version_compare (phpversion (),"4.3.0") == "-1") {
      return mysql_escape_string ($value);
    }
    else {
      return mysql_real_escape_string ($value);
    }
  }
?>
 
Luke Banning

Luke Banning

28/12/2006 17:13:00
Quote Anchor link
Inderdaad is dat de bedoeling ja.
Maar als jij ergens een bericht plaatst wil jij dan \'s?
Doet die functie dan wel goed de output met die 's?
 
Frank -

Frank -

28/12/2006 17:17:00
Quote Anchor link
Deze functie doet helemaal niets met output, je gebruikt hem wanneer je gegevens naar de database toestuurt. Niet wanneer je gegevens van de database retour krijgt.

En hoe die gegevens er uitzien, dat kun je zelf snel even testen.

Ps. Rommel die nu in jouw database staat, zal natuurlijk altijd rommel blijven... Tenzij je de boel gaat opschonen.
 
Bo az

Bo az

28/12/2006 17:17:00
Quote Anchor link
Zoals Frank al terecht opmerkt hebben output en iets in de database zetten niks met elkaar te maken.

Als je iets in de database zet, doe je dat zoals de gebruiker het in geeft, dus geen nl2br en al helemaal geen htmlspecialchars, alleen mysql_real_escape_string om te zorgen dat je database niet in de soep loopt.

Als je de data er uit haalt kijk je wat je er mee wil, heb je lastige slashes -> strip_slashes()
Wil je geen html -> htmlentities () (gebruiik deze en niet htmlspecialchars!!)
etc
etc

Edit:
Op die manier kan je nog alle kanten op met je data zonder dat je dubbele bewerkingen hebt. Dat zou namelijk zonde zijn
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Niek s

niek s

28/12/2006 17:24:00
Quote Anchor link
Luke, je moet bij de input dus mysql_real_escape_string() gebruiken.

Daarna, bij de query om het uit de database te halen, en je gaat het op het scherm zetten, gebruik je stripslashes()

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
//voorbeeldje
$sql = "INSERT INTO tabel (veld) VALUES('".myqsl_real_escape_string($_POST['waarde'])."')"; // Insert gegevens
$res = mysql_query($sql) or die(mysql_error()); // Tsja, uitvoeren.. (alleen debug, anders mysql_error() weghalen)
$sql = "SELECT veld FROM tabel WHERE henk = 'annie'";  // Lees gegenves
$res = mysql_query($sql) or die(mysql_error()) // Alleen debuggen, anders mysql_error() weghalen.
while($fetch = mysql_fetch_array($res)) { // Aangenomen dat er meerdere results zijn (anders kon de while() weg)
     echo "Het veld genaamd ' veld ' heeft dit als waarde:".stripslashes($fetch['veld'])."<br />"; // Gegevens outputten
}
?>


Typo's onder voorbehoud...
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Luke Banning

Luke Banning

28/12/2006 17:26:00
Quote Anchor link
Ok allemaal :)
Ik ga aan het werk ;-)
Maar wat ik me dan nog afvraag is als je hem een stripslashes geef of ie dan nog steeds veilig is?
Maar alvast bedankt voor de kritiek, daar kunnen we wat mee ;-)
 
Frank -

Frank -

28/12/2006 17:29:00
Quote Anchor link
Lees de functie nog eens goed door:
1) Als get_magic_quotes_gpc () TRUE is, strip dan de slashes.
2) Ga mysql_escape_string of mysql_real_escape_string toepassen.

Kortom, er wordt altijd geescaped en wel zo dat je later geen last hebt van slashes in de output. mysql_escape_string of mysql_real_escape_string wordt namelijk gebruikt en niet een onbetrouwbare functie van PHP (magic_quotes).
 
Niek s

niek s

28/12/2006 17:29:00
Quote Anchor link
Luke Banning schreef op 28.12.2006 17:26:
Ok allemaal :)
Ik ga aan het werk ;-)
Maar wat ik me dan nog afvraag is als je hem een stripslashes geef of ie dan nog steeds veilig is?
Maar alvast bedankt voor de kritiek, daar kunnen we wat mee ;-)


Tuurlijk is het veilig! Want dan ga je op dat moment niks in de database zetten, en kan er dus ook niks mis gaan.
Misschien dat mijn voorbeeldje hier boven wat duidelijkheid verschaft?
 
Luke Banning

Luke Banning

28/12/2006 17:31:00
Quote Anchor link
Oke oke :)
Ja het is duidelijk, bedankt :)
Na een flink aantal keren extra doorlezen snap ik hem :)
 



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.