gpt4 book ai didi

php - 在 CREATE TABLE 语句中转义 SQL 数据类型

转载 作者:行者123 更新时间:2023-11-29 02:32:24 25 4
gpt4 key购买 nike

背景介绍:我们正在为我们的网络应用程序创建一个表单生成器。构建器的目标是让我们的管理员能够在我们的页面上快速添加/修改表单。为确保通过这些表单收集的数据可以轻松搜索到报告,我们决定让应用程序为每个保存用户输入数据的表单创建一个表。

出于安全意识,我们所有的表名和列名都被正确转义并用正确的引号括起来(MySQL 的反引号 `)。但是,我不知道 CREATE 语句中的数据类型有任何转义或引用。我们希望允许不同的数据类型考虑更好的索引和搜索,这意味着它们是在创建/修改表单时动态决定的。

当前路线 我们正在采取的是将我们支持的可能数据类型列入白名单,并强制任何可选大小输入为数字。这样,任何恶意代码都无法创建 BLOB 列,并传入大小为“128”的 VARCHAR;DROP DATABASE;将变成 128 或 0(我现在忘记了 PHP 如何处理字符串到数字的转换)。

我想得到一些反馈,你认为这是足够的保护吗?有没有什么方法可以编写保护我们的 SQL,类似于用正确的引号将表名括起来?

另外,有人知道数据类型大小有什么危险吗?我预计可能会出现占用大量空间的问题,但不会出现安全问题。

最佳答案

我觉得一切都很好,只是不要忘记 DECIMAL 类型需要两个输入,即小数位数和精度。

关于php - 在 CREATE TABLE 语句中转义 SQL 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11140512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com