如何防止PHP文件形成SQL注入?

时间:2015-06-12 19:55:22

标签: php security sql-injection

我有问题。我疯了一个软件应用程序,一切都运行得很好,但我发现使用它是不安全的,因为我没有阻止SQL注入。我google了一下,发现你可以使用mysql_real_escape_string。但是,如果我在我的php文件中的变量周围添加这个,整个php文件将停止正常工作。有人知道如何解决这个问题吗?

这是我正在使用的示例php文件:

    <?php
            $server = "";
            $username = "";
            $password = "";
            $database = "";
            $con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
            mysql_select_db($database, $con);
            $id = $_GET['id'];
            $sitze = $_GET['sitze'];
            $farbe = $_GET['farbe'];
            $kennzeichen = $_GET['kennzeichen'];
            $automarke =$_GET['automarke'];
            $rauchen = $_GET["rauchen"];
            $essen = $_GET["essen"];
            $trinken = $_GET["trinken"];                    
            //Insert Fahrten
            $sql = "INSERT INTO fahrzeuge (sitzplaetze, farbe, kennzeichen, automarke, rauchen, essen, trinken, user_user_id) VALUES ('$sitze','$farbe','$kennzeichen','$automarke','$rauchen','$essen','$trinken','$id')";
            if (mysql_query($sql) === TRUE) {
                $records[] = "success";
                $idfahrt= mysql_insert_id();
                $records[] = $idfahrt;
            } else {
                $records[] = "Es ist ein Fehler aufgetreten!!";
            }       
            //end Insert Fahrten

            mysql_close($con);
        echo $_GET['jsoncallback'] . '(' . json_encode($records) . ');';
?>

0 个答案:

没有答案