dedlfix: MySQL-Error

Beitrag lesen

echo $begrüßung;

$sql_str='';
$sql_str.="DROP TABLE IF EXISTS $menu_file;";
$sql_str.="CREATE TABLE IF NOT EXISTS $menu_file (

mysql_query() lässt aus Sicherheitsgründen mittlerweile nur noch einen Befehl pro Aufruf zu. Damit soll verhindet werden, dass durch unzureichende Prüfung von Eingabewerten Abfragen entstehen, die vom Programmierer nicht gewollt sind. Gegeben sei:

$sql = "SELECT * FROM table WHERE username='$username'";

Wenn $username ungeprüft vom Anwender übernommen wird und auch keine Sonderzeichen maskiert werden (Stichwort: mysql_real_escape_string()), könnte jemand beispielsweise

'; DELETE table WHERE '1'='1

eingegeben haben, was zu

$sql = "SELECT * FROM table WHERE username=''; DELETE table WHERE '1'='1'";

führen würde.

echo "$verabschiedung $name";