php - 这个 SQL 查询是安全的吗?

标签 php mysql sql sql-injection security

下面的代码是用php写的:

$user = addslashes($_POST['user']);
$pwd = addslashes($_POST['pwd']);

$query = "SELECT * FROM userdata WHERE UserName='$user' AND Password=PASSWORD('$pwd')";

然后查询将被发送到mysql 还有什么需要我处理的吗?

请指出。

最佳答案

不,这不安全,请使用 mysql_real_escape_string最低限度:

$user = mysql_real_escape_string($_POST['user']);
$pwd = mysql_real_escape_string($_POST['pwd']);

为了更好安全,请选择prepared statements .

最佳选项:

你可能会问选择哪一个,查看:

关于php - 这个 SQL 查询是安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11073279/

相关文章:

php - 在从 php 中的 mysql 表中获取的数据数组中创建一个新列

sql - 编写一个查询来交换 SQL Server 中表中的值?

php - 根据条件按组格式化结果?

php - 我收到一条错误消息“ undefined offset : 1 in codeigniter”

php - 是否有适用于 Microsoft Word 的嵌入式可视化 (PHP) 解析器?

php - XAMPP 的远程共享文件夹?

mysql - 如何处理数据库中的重复项?

php - where 子句中的检查或条件

c# - 删除和插入事务仍然导致违规 c#

MySQL GROUP BY WITH ROLLUP - 想要 ROLLUP 所有排列