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

SQL-Injektionen in ADOdb und allgemeine Website-Sicherheit

SQL-Injection-Angriffe erfolgen bei Benutzereingaben ist falsch kodiert. Typischerweise besteht die Benutzereingabe aus einigen Daten, die der Benutzer mit seiner Abfrage sendet, d. h. Werte in $_GET , $_POST , $_COOKIE , $_REQUEST , oder $_SERVER Arrays. Benutzereingaben können jedoch auch aus einer Vielzahl anderer Quellen stammen, wie z. B. Sockets, entfernte Websites, Dateien usw. Daher sollten Sie wirklich alles außer Konstanten behandeln (wie 'foobar' ) als Benutzereingabe .

In dem von Ihnen geposteten Code mysql_real_escape_string wird verwendet, um Benutzereingaben zu kodieren (=zu maskieren). Der Code ist also korrekt, d. h. erlaubt keine SQL-Injection-Angriffe.

Beachten Sie, dass es sehr leicht ist, den Aufruf von mysql_real_escape_string zu vergessen - und einmal ist genug für einen erfahrenen Angreifer! Daher möchten Sie vielleicht das moderne PDO verwenden mit vorbereiteten Statements statt adodb.