Strip_tags / preg_replace / mysql_real_string_escape

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Patrick vd Pols

Patrick vd Pols

04/05/2012 19:17:20
Quote Anchor link
Hey allemaal,

Ik heb voor mijn scriptje een Title veld. zodra het form gepost is haal ik eerst alle html tags eruit met striptags, daarna verwijder ik alle tekens dat geen cijfer of letter zijn met preg_replace. Is het nu ook nog nodig om alvorens ik het in de database dit door mysql_real_escape_string te halen, of is dit dan niet meer nodig?

Alvast bedankt voor je antwoord!
 
PHP hulp

PHP hulp

23/11/2024 14:12:12
 
Kris Peeters

Kris Peeters

04/05/2012 19:26:51
Quote Anchor link
Het is niet de bedoeling dat je Strip_tags / preg_replace gebruikt bij het INSERTEN/UPDATEN naar de batabase. Je moet de data enkel door mysql_real_string_escape halen (mySQL injection).

Dingen zoals strip_tags en htmlentities gebruik je bij het lezen van de data. Dus, bij SELECT queries, net vooraleer je de gegevens naar de gebruiker stuurt.


Je kan, voor het INSERTEN/UPDATEN wel valideren: de gebruiker eventueel laten weten dat de gegevens ongeldige dingen bevatten, maar het is niet de bedoeling dat je user input filtert.
Gewijzigd op 04/05/2012 19:29:51 door Kris Peeters
 
Eddy E

Eddy E

04/05/2012 19:29:02
Quote Anchor link
Waarom niet?
Wel alles omzetten, maar waarom niet het vuil eruit halen?
 
Patrick vd Pols

Patrick vd Pols

04/05/2012 19:30:43
Quote Anchor link
Ik wil niet dat er rare tekens in een opgegeven titel komen te staan, stel iemand vult in:

Hallo $#%$#% <a href="#"></a> Hoi

Dan zal na de pregreplace etc de string Hallo Hoi zijn.. het is niet de bedoeling dat het met gare tekens en al in de database komt te staan
 
 - Diov  -

- Diov -

04/05/2012 19:31:13
Quote Anchor link
Ik zou wel nog een mysql_real_escape_string. Je weet maar nooit als ze een trucje gevonden hebben.

Wat ik wel zou doen is zeggen dat er bepaalde tekens niet zijn toegestaan ofzo.
En dan een melding geven anders weten ze niet wat ze 'echt' ingevuld hebben.
 
Kris Peeters

Kris Peeters

04/05/2012 19:38:28
Quote Anchor link
Wel ja ...
ALs je die tekens niet in de DB wil, INSERT ze dan niet, en keur via validate de data af.

Maar laat wel de gebruiker de kans om zijn fouten zelf recht te trekken.

Dat gebeurt hier toch ook, bv. op deze site, op (zowat?) gelijk welk forum ...
 
Patrick vd Pols

Patrick vd Pols

04/05/2012 19:39:11
Quote Anchor link
Ik maak dan ook geen forum ;)
Maar buiten dat, moet ik het nou wel of niet nog een keer door mysql_real_escape_string halen? Dat was eigenlijk mn vraag
Gewijzigd op 04/05/2012 19:39:42 door Patrick vd Pols
 
Bart V B

Bart V B

04/05/2012 19:45:50
Quote Anchor link
Sec antwoord op je vraag: Ja, ten alle tijden gewoon mysql_real_escape_string() gebruiken. :)
 
Patrick vd Pols

Patrick vd Pols

04/05/2012 19:46:07
Quote Anchor link
Dank u!
 
Kris Peeters

Kris Peeters

04/05/2012 19:46:40
Quote Anchor link
sowieso ook mysql_real_escape_string gebruiken.
 



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.