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

PHP-Sicherheitsfrage?

Beim Akzeptieren von nutzergeneriertem Text, der später angezeigt wird, sind zwei Aspekte zu berücksichtigen.

Zunächst einmal müssen Sie Ihre Datenbank vor Injection-Angriffen schützen. Dafür gibt es eine einfache PHP-Funktion:mysql_real_escape_string() reicht normalerweise aus, um Ihre Datenbank vor Injektionen zu schützen, wenn Sie diese Zeichenfolge übergeben, um sie als Feldwert zu speichern.

Von da an müssen Sie auf Ihre Anzeige achten, da ein Benutzer, der HTML-Code hochladen darf, anderen Benutzern böse Dinge antun kann wenn dieser Code angezeigt wird. Wenn Sie Klartextartikel schreiben, können Sie einfach htmlspecialchars() den resultierenden Text. (Wahrscheinlich möchten Sie auch Zeilenumbrüche in
-Tags umwandeln.) Wenn Sie eine Formatierungslösung wie die auf dieser Site verwendete Markdown-Engine verwenden, bieten diese Lösungen normalerweise eine HTML-Bereinigung als Funktion der Engine , aber lesen Sie unbedingt die Dokumentation und vergewissern Sie sich.

Oh, vergewissern Sie sich, dass Sie auch Ihre GET/POST-Variablen überprüfen, die zum Senden der Artikel verwendet werden. Das versteht sich von selbst, und die durchgeführte Überprüfung muss auf die Logik Ihrer Website zugeschnitten sein.