echo as plain text
Ik heb iets gemaakt waar een gebruiker een toonladder kan toevoegen in de database. Zodra je klaar bent wordt de toonladder toegevoegd aan een lijst. Beetje bij beetje wordt je lijst groter en groter en kun je ze allemaal bekijken.
Maar nu heb ik een probleem;
Je kunt aan de titel van de ladder codes toevoegen.
Kan heel onschuldig zijn, als bij voorbeeld <b>dikke tekst</b>, maar je kunt er ook de site mee verkloten. (Wel zolang je binnen de 25 tekens blijft, daar staat het textfield op).
Nou was ik dus al een tijd aan het zoeken, maar ik denk dat ik de verkeerde zoektermen gebruik. Ik kom namelijk niet eens in de buurt van iets wat er op lijkt waar mee je dit voorkomt.
Ik was dus benieuwd of er iemand weet hoe je voorkomt dat er codes worden geëchood. Dus gewoon dat er alleen "<b>dikke tekst</b>" komt te staan zonder dat de tekst dik wordt.
Of misschien dat het probleem al wel eerder op te lossen is door te voorkomen dat de code überhaupt in de database komt.
Wellicht dat één van jullie mij een duwtje in de goede richting kan geven?
Gewijzigd op 04/12/2011 11:53:44 door Chris PHPAccount
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
strip_tags($tekst);
//als 2de argument van deze functie kan je ook nog tags
//meegeven die wel toegestaan zijn bv.
strip_tags($tekst, '<br><p>');
?>
strip_tags($tekst);
//als 2de argument van deze functie kan je ook nog tags
//meegeven die wel toegestaan zijn bv.
strip_tags($tekst, '<br><p>');
?>
Let trouwens op dat alleen maxlength="25" omzeilbaar is, en je dus de lengte moet controleren in PHP.
Ger van Steenderen op 04/12/2011 11:59:27:
Daar bestaat een functie voor:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
strip_tags($tekst);
//als 2de argument van deze functie kan je ook nog tags
//meegeven die wel toegestaan zijn bv.
strip_tags($tekst, '<br><p>');
?>
strip_tags($tekst);
//als 2de argument van deze functie kan je ook nog tags
//meegeven die wel toegestaan zijn bv.
strip_tags($tekst, '<br><p>');
?>
Bedankt. Werkt perfect. Heb er maar direct voor gezorgd dat het niet de database in kan. :)
Jacco Brandt op 04/12/2011 12:00:47:
Ja, dan moet je htmlspecialchars() over deze waarde heen gooien.
Let trouwens op dat alleen maxlength="25" omzeilbaar is, en je dus de lengte moet controleren in PHP.
Let trouwens op dat alleen maxlength="25" omzeilbaar is, en je dus de lengte moet controleren in PHP.
Aha, ik zal er direct even wat aan doen. Bedankt.
Je kan de functie htmlspecialchars() gebruiken :)
Vriendelijke groet,
Joey
strip_tags verwijdert alle tags
htmlspecialchars zorgt ervoor dat tags als gewone tekst opgeslagen/weergegeven worden