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

Ist es besser, die Benutzereingabe zu maskieren/kodieren, bevor sie in der Datenbank gespeichert wird, oder sie so zu speichern, wie sie in der Datenbank ist, und sie beim Abrufen zu maskieren?

  1. Warum erwarten Sie, dass Sie die Daten immer in einem HTML-Kontext verwenden? „I <3 you“ und „I <3 you“ sind nicht dieselben Daten . Speichern Sie daher die Daten wie es in der Datenbank vorgesehen ist. Es gibt keinen Grund, es entkommen zu speichern.
  2. HTML, das die Daten nur dann maskiert, wenn es nötig ist, gibt Ihnen die Gewissheit, dass Sie wissen, was Sie tun. Dies:

    echo htmlspecialchars($data);
    

    ist viel besser als:

    echo $data; // The data should already come escaped from the database.
                // I hope.