Ich habe ein einfaches Skript, um eine SQL-Abfrage an ein PHP-Skript zu senden, aber ich weiß nicht, wie ich es vor SQL-Injection schützen kann.C# zu PHP SQL Injection Prevention
Haben Sie eine Idee? Vielen Dank!
C# Script
private void SQLConnect()
{
string urlAddress = "XXX";
Abfrage für das PHP-Script
string query = "INSERT INTO user (name) VALUES ('Test-Name')";
Senden Sie die Abfrage per Post an das PHP-Script
using (WebClient client = new WebClient())
{
NameValueCollection postData = new NameValueCollection()
{
{ "newQuery", query },
};
string pagesource = Encoding.UTF8.GetString(client.UploadValues(urlAddress, postData));
}
}
PHP Script
$db_server = xxx;
$db_benutzer = 'xxx';
$db_passwort = 'xxx';
$db_name = 'xxx';
Mit Datenbank verbinden
$mysqli = new mysqli($db_server, $db_benutzer, $db_passwort, $db_name);
if ($mysqli->connect_errno)
{
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
else
{
echo "Connected...\n";
}
die Abfrage empfangen und ausführen von C#
$newQuery = $_POST["newQuery"];;
if ($mysqli->query($newQuery) === TRUE)
{
echo("Success...\n");
}
mysqli_close($mysqli);
Verwandte: http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php –
Es hängt davon ab, dass Ihre Abfrage von Quellen generiert wird, denen Sie nicht vertrauen? Wenn es nur um die Variablen geht, die von nicht vertrauenswürdigen Quellen erzeugt werden, können Sie die Antwort von Ronald verwenden. – iCode4U