Strip_tags / preg_replace / mysql_real_string_escape
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!
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
Wel alles omzetten, maar waarom niet het vuil eruit halen?
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
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.
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 ...
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
Sec antwoord op je vraag: Ja, ten alle tijden gewoon mysql_real_escape_string() gebruiken. :)
Dank u!
sowieso ook mysql_real_escape_string gebruiken.