I had no idea at all about PHP or programming until I started reading your website! "Ich hatte überhaupt keine Ahnung über PHP oder Programmierung, bis ich das Lesen Ihrer Webseite gestartet!"
Scott

SQL Query Injection

Ein häufiges Problem bei Web-Entwicklung ist vor SQL-Injection-Angriffe zu bewachen, ist dies ein Angreifer fügt zusätzliche SQL als Parameter. So zum Beispiel:
" SELECT * FROM Users WHERE Username = ' " . $ _POST [ ' username ' ] . " ' " ) ; mysql_query ("SELECT * FROM users WHERE username = '" $ _POST. [' username '] "".');
Könnte angegriffen, wenn $ _POST ['username'] erreicht werden:
DELETE FROM Users WHERE 1 = 1 OR Username = ' 'FROM Benutzer WHERE 1 = 1 oder Benutzername = DELETE'
Welche würde eine tatsächliche Abfrage von
FROM Users WHERE Username = ' ' DELETE FROM Users WHERE 1 = 1 OR Username = ' ' SELECT * FROM users WHERE username = '' FROM Benutzer zu löschen WHERE 1 = 1 oder Benutzername = ''
Dies würde löschen Sie alle Benutzer in der Benutzer-Tabelle! Um dies zu umgehen können Sie verwenden eine Kombination von stripslashes und mysql_real_escape_string oder mysql_escape_string. mysql_escape_string entweicht auch einen String jedoch im Gegensatz zu den mysql_real_escape_string sie nicht berücksichtigen, den aktuellen Zeichensatz, aber auch benötigt keine Datenbank-Link.
username = $ _POST [ ' username ' ] ; $ Username = $ _POST ['username'];
get_magic_quotes_gpc ( ) ) if (get_magic_quotes_gpc ())
{
username = stripslashes ( $ username ) ; $ Username = stripslashes ($ username);
}

" SELECT * FROM Users WHERE Username = ' " . mysql_real_escape_string ( $ username , $ database_link ) . " ' ) ; mysql_query ("SELECT * FROM users WHERE username = '" mysql_real_escape_string ($ username, $ database_link) "..');
OR / / ODER
" SELECT * FROM Users WHERE Username = ' " . mysql_real_escape_string ( $ username ) . " ' ) ; mysql_query ("SELECT * FROM users WHERE username = '" mysql_real_escape_string ($ username) "..');
Die stripslashes-Funktion sorgt, dass es keine Schrägstriche automatisch hinzugefügt, da dies die Flucht durch die Funktion mysql_real_escape_string gemacht entgegenwirken würde. Diese Funktion fügt Schrägstriche zu allen Zitaten und stoppt dadurch die Angreifer eigenen Code hinzuzufügen thier.

Noch keine Kommentare wurden zur Verfügung gestellt.
Security Image
Geschrieben von: Dominic Skinner
Zuletzt aktualisiert: 2011.10.25 16.00.38