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

Funktion zum Bereinigen von Eingaben in die MySQL-Datenbank

htmlentities() ist unnötig, um Daten für SQL sicher zu machen. Es wird verwendet, wenn Datenwerte an die HTML-Ausgabe ausgegeben werden, um XSS-Schwachstellen zu vermeiden. Das ist auch ein wichtiges Sicherheitsproblem, das Sie beachten müssen, aber es hat nichts mit SQL zu tun.

addedlashes() ist redundant mit mysql_real_escape_string. Sie werden mit buchstäblichen Backslashes in Ihren Strings in der Datenbank enden.

Verwenden Sie keine magischen Anführungszeichen. Diese Funktion ist seit vielen Jahren veraltet. Stellen Sie PHP-Code nicht in einer Umgebung bereit, in der magische Anführungszeichen aktiviert sind. Wenn es aktiviert ist, schalten Sie es aus. Wenn es sich um eine gehostete Umgebung handelt und magische Anführungszeichen nicht deaktiviert werden, wenden Sie sich an einen neuen Hosting-Anbieter.

Verwenden Sie nicht ext/mysql . Es unterstützt keine Abfrageparameter, Transaktionen oder OO-Nutzung.

Aktualisieren:ext/mysql wurde in PHP 5.5.0 (20.06.2013) als veraltet markiert und in PHP 7.0.0 (03.12.2015) entfernt. Du kannst es wirklich nicht verwenden.

Verwenden Sie PDO , und machen Sie Ihre Abfragen sicherer, indem Sie vorbereitete Abfragen verwenden .

Weitere Einzelheiten zum Schreiben von sicherem SQL finden Sie in meiner Präsentation SQL-Injection-Mythen und Irrtümer .