在MySQL查询中,在表名两边加上反引号有多重要。是不是跟安全有关?如果表名是根据用户输入在PHP语言中动态创建的,那么是否可能通过表名进行MySQL注入攻击?
发布于 2009-12-26 16:02:31
例如,反引号可以帮助您避免意外使用SQL中的保留字名称。以一个名为"where“的表为例,我同意这是一个愚蠢的表名称,但是如果你用反引号将它括起来,它将会很好地工作。
发布于 2009-12-26 16:03:16
在MySQL查询中,在表名两边加上反引号有多重要。是不是跟安全有关?
至于反标记,我会在mysql特定的名称与query中的名称之间存在名称冲突时使用它们。
如果表名是根据用户输入在PHP中动态创建的,那么是否可能通过表名进行MySQL注入攻击?
当有用户输入时,您需要确保过滤和验证来自用户的输入。所以,是的,它存在安全风险。
我建议你对数字使用mysql_real_escape_string函数,对你的查询中可能使用的任何变量使用。
发布于 2009-12-26 16:02:17
如果您有一个与关键字同名的表名,例如select,则以下查询仍然有效:
select * from `select`;https://stackoverflow.com/questions/1962859
复制相似问题