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

Sind dynamische MySQL-Abfragen mit SQL-Escape genauso sicher wie vorbereitete Anweisungen?

Ja, aber ein eingeschränktes Ja.

Sie müssen 100 % der Eingabe richtig maskieren. Und Sie müssen Zeichensätze richtig festlegen (Wenn Sie die C-API verwenden, müssen Sie mysql_set_character_set() aufrufen statt SET NAMES ). Wenn Sie eine winzige Sache übersehen, sind Sie verwundbar. Also ja, solange man alles richtig macht...

Und das ist der Grund, warum viele Leute vorbereitete Abfragen empfehlen. Nicht, weil sie sicherer sind. Aber weil sie nachsichtiger sind...