在 MySQL 查询中表名周围反引号的重要性

2022-08-31 00:37:35

在MySQL查询中,在表名周围放置反引号有多重要。它与安全性有关吗?如果表名是根据用户输入在PHP中动态创建的,那么MySQL注入攻击是否可能通过表名进行?


答案 1

例如,反引号可帮助您避免意外使用在 SQL 中作为保留字的名称。以一个名为“where”的表为例,对于我同意的表来说,这是一个愚蠢的名称,但是如果您将其包装在反引号中,它将正常工作。


答案 2

在MySQL查询中,在表名周围放置反引号有多重要。它与安全性有关吗?

就反向引号而言,当mysql-specifcs名称与查询名称之间存在名称冲突时,我会使用它们。

如果表名是根据用户输入在PHP中动态创建的,那么MySQL注入攻击是否可能通过表名进行?

当有用户输入时,您需要确保筛选并验证来自用户的输入。所以是的,它有安全风险。

我建议你对数字使用intval,对你可能在查询中使用的任何变量mysql_real_escape_string函数。


推荐