如果我不别名每个列名,则使用fech assoc将json编码的mysql数据集传递给javascript可以公开表列名。所以问题是,将列名公开为json对象属性是否存在安全风险?
我一直在使用PDO准备好的语句。
最佳答案
本身公开列标识符不应该具有很高的安全风险。安全问题是,如果您允许SQL注入攻击,即使在您的应用程序中只有一种情况下,某人也可以使用有关列名的知识来加快发现如何编写非法查询的速度。
但是他们仍然可以找到列,因为如果他们可以通过SQL注入来运行任意SQL,那么他们可以查询您的INFORMATION_SCHEMA并找到所需的任何内容。
如果您确信查询执行可以安全地完成,那么您应该可以。