2016-05-25 9 views
0

Wir alle über den Schutz von SQL-Injection-Angriffe gelesen haben: How Can I Prevent SQL Injection in PHP, SQL Injection Attacks, PHP: mysqli_real_escape_string, How to prevent code injection attacks in PHP sowie viele andere über die „Debatte“ von php - mysql_real_escape_string vs addslashes.Charakter zu entkommen und Hashing-Funktionen

Allerdings bin ich neugierig auf den richtigen Weg zum Schutz meiner SQL-Anweisungen, wenn Sie eine Funktion für Daten verwenden, bevor Sie sie an die Datenbank übergeben. Muss ich addslashes() und mysqli_real_escape_string() die Werte vor der Übergabe an eine Funktion wie crypt(), die dann in einer vorbereiteten Anweisung verwendet werden würde, mit bind_param()? Kann ich auf die addslashes() und mysqli_real_escape_string() verzichten, weil der Wert schließlich in eine vorbereitete Anweisung geht?

+1

_Can ich verzichten auf die addslashes() und mysqli_real_escape_string(), weil der Wert schließlich in eine vorbereitete Anweisung geht? _ YES und ist die Art, wie Sie es tun sollten. – AbraCadaver

+0

Vereinbarte - http://stackoverflow.com/a/36628423/1301332 beantwortet meine Frage. Als doppelt markieren – redhotspike

Antwort

0

Es gibt keinen Unterschied, welche Art von Daten zur Datenbank gehen oder wie sie behandelt wurden. Für die SQL-Abfrage sollte der Prozess alle gleich