Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie bereinige ich Daten, die ich von einem Textbereich erhalten habe, richtig, wenn ich sie wieder in den Textbereich ausgebe?

Sie sollten keine htmlentities verwenden beim Speichern. Sie sollten htmlentities verwenden beim Anzeigen. Die Faustregel lautet, die Daten erst dann zu codieren/zu bereinigen, wenn es nötig ist. Wenn Sie htmlentities machen Wenn Sie darauf speichern, müssen Sie html_entity_decode ausführen auf den Text, wenn der Benutzer die Eingabe bearbeiten möchte. So desinfizieren Sie für das, was Sie brauchen, und nicht mehr. Beim Speichern müssen Sie für die SQL-Einschleusung bereinigen, also mysql_real_escape_string es. Beim Anzeigen müssen Sie für XSS bereinigen, also htmlentities es.

Ich bin mir auch nicht sicher, ob Sie Darryl Heins Kommentar gesehen haben, aber Sie möchten wirklich nicht, dass magic_quotes aktiviert ist. Sie sind ein ganz schlimmes Ding und sind seit PHP 5.3 veraltet und werden in PHP 6 vollständig verschwunden sein.