This question already has answers here:
How can I prevent SQL injection in PHP?
(28个答案)
4年前关闭。
以下PHP MySQL语句是否可以防止SQL注入(inject)?
变量
我们正在对照常见的SQL注入(inject)技术检查用户名和密码:
我想念什么吗?我应该使用其他方法来防止SQL注入(inject)吗?
大多数数据库具有类似于此功能的功能。
我希望这个帮助能祝你好运!
凯尔
(28个答案)
4年前关闭。
以下PHP MySQL语句是否可以防止SQL注入(inject)?
$strSQL = "SELECT * FROM Benutzer WHERE Benutzername = '".$Benutzer."' AND Password = '".md5($PW)."'";
变量
$Benutzer
和$PW
是来自用户的输入。我们正在对照常见的SQL注入(inject)技术检查用户名和密码:
我想念什么吗?我应该使用其他方法来防止SQL注入(inject)吗?
最佳答案
您可能要研究用于查询数据库的参数化查询。这消除了SQL注入(inject)攻击。
我主要使用postgreSQL,执行这种查询的格式如下所示:
$query = 'select * from Benutzer where Benutzername = $1 and Passwort = $2';
$params = array($Benutzer, md5($PW));
$results = pg_query_params($query, $params);
大多数数据库具有类似于此功能的功能。
我希望这个帮助能祝你好运!
凯尔
09-19 07:27