Es gibt eindeutige Bedrohungen, von denen Sie hier (wahrscheinlich) sprechen:
- Sie müssen desinfizieren Daten, die in die Datenbank eingefügt werden, um SQL-Injektionen zu vermeiden .
- Sie müssen auch vorsichtig mit den Daten umgehen, die dem Benutzer angezeigt werden, da sie bösartige Skripts enthalten können (wenn sie von anderen Benutzern übermittelt wurden). Siehe Wikipedia-Eintrag für Cross-Site-Scripting (alias XSS)
Was für Ihre Datenbank schädlich ist, muss nicht unbedingt für die Benutzer schädlich sein (und umgekehrt). Sie müssen sich entsprechend um beide Bedrohungen kümmern.
In Ihrem Beispiel:
- Verwenden Sie mysqli::real_escape_string () auf die Daten, die in Ihre Datenbank eingefügt werden (Bereinigung)
Wahrscheinlich möchten Sie den Purifier vor dem Einfügen von Daten verwenden - stellen Sie einfach sicher, dass er "gereinigt" ist, wenn der Benutzer ihn erhält.
Möglicherweise müssen Sie Striplashes
verwenden () auf Daten, die von der Datenbank abgerufen werden, um sie dem Benutzer korrekt anzuzeigen, wenn magic_quotes
sind aktiviert