sql >> Database >  >> RDS >> Mysql

Hoe kan ik gegevens die uit een tekstgebied zijn ontvangen op de juiste manier opschonen, wanneer ik deze weer in het tekstgebied uitvoer?

U moet geen htmlentities gebruiken bij het opslaan. Gebruik htmlentities bij het weergeven ervan. De vuistregel is om de gegevens niet te coderen/opschonen totdat dat nodig is. Als u htmlentities . doet erop wanneer u opslaat, dan moet u html_entity_decode . doen op de tekst wanneer de gebruiker de invoer wil bewerken. Dus je ontsmet voor wat je nodig hebt en niets meer. Wanneer u het opslaat, moet u opschonen voor SQL-injectie, dus u mysql_real_escape_string het. Bij het weergeven moet je opruimen voor XSS, dus je htmlentities het.

Ik weet ook niet zeker of je de opmerking van Darryl Hein hebt gezien, maar je wilt echt niet dat magic_quotes is ingeschakeld. Ze zijn een slecht, slecht ding en zijn verouderd vanaf PHP 5.3 en zullen helemaal verdwijnen in PHP 6.



  1. Mijn favoriete PostgreSQL-extensies - deel twee

  2. UPDATE Dezelfde rij na UPDATE in Trigger

  3. Databasemodellering

  4. STRCMP() gebruiken om 2 strings in MySQL te vergelijken